【发布时间】:2020-09-12 19:03:01
【问题描述】:
我的方法很多,标准filter、map等返回一个新数组。
let array = [1, 2, 3, 4];
array = someFilter(array);
array = otherFilter(array);
array = someMap(array);
不返回新数组怎么办?
let array = [1, 2, 3, 4];
someFilter(array);
otherFilter(array);
someMap(array);
例如
let x = [1, 2, 3, 4];
filter(x);
// x still 1, 2, 3, 4
function filter(array){
let newArray = array.filter((item) => item % 2 == 0);
array = newArray; // what do here?
}
更新
有我的解决方案
function replace(oldArray, newArray){
oldArray.length = 0;
push(oldArray, newArray);
}
function push(sourceArray, ...additionalArray) {
additionalArray.forEach((array) => {
if (array.length < 1000){
sourceArray.push.apply(sourceArray, array);
} else {
array.forEach((item) => sourceArray.push(item));
}
});
return sourceArray;
}
【问题讨论】:
标签: javascript arrays filter slice