関数に 2 つの配列を渡し、特定のエントリをある配列から別の配列に移動したいと考えています。moveDatum 関数自体は、underscorejs のメソッド reject と filter を使用します。私の問題は、配列を参照としてではなく値として渡しているかのように、元の配列が変更されないことです。特定のエントリは正しく移動されますが、前述のとおり、効果はローカルのみです。元の配列も変更するには、何を変更する必要がありますか?
関数を呼び出します。
this.moveDatum(sourceArr, targetArr, id)
関数自体:
function moveDatum(srcDS, trgDS, id) {
var ds = _(srcDS).filter(function(el) {
return el.uid === uid;
});
srcDS = _(srcDS).reject(function(el) {
return el.uid === uid;
});
trgDS.push(ds[0]);
return this;
}
助けてくれてありがとう