我有一个JavaScript数组dataArray,我想把它推到一个新数组newArray。只是我不想让newArray[0]为dataArray。我想把所有的项都推入新数组:
var newArray = [];
newArray.pushValues(dataArray1);
newArray.pushValues(dataArray2);
// ...
或者更好:
var newArray = new Array (
dataArray1.values(),
dataArray2.values(),
// ... where values() (or something equivalent) would push the individual values into the array, rather than the array itself
);
现在新数组包含了各个数据数组的所有值。是否有一些像pushValues这样的速记可用,这样我就不必遍历每个单独的数据数组,逐个添加项?
我们有两个数组a和b,这里的代码是将数组a的值推入数组b。
let a = [2, 4, 6, 8, 9, 15]
function transform(a) {
let b = ['4', '16', '64']
a.forEach(function(e) {
b.push(e.toString());
});
return b;
}
transform(a)
[ '4', '16', '64', '2', '4', '6', '8', '9', '15' ]
如果你想修改原始数组,你可以展开和推:
var source = [1, 2, 3];
var range = [5, 6, 7];
var length = source.push(...range);
console.log(source); // [ 1, 2, 3, 5, 6, 7 ]
console.log(length); // 6
如果你想确保源数组中只有相同类型的项(例如,不要混合数字和字符串),那么使用TypeScript。
/**
* Adds the items of the specified range array to the end of the source array.
* Use this function to make sure only items of the same type go in the source array.
*/
function addRange<T>(source: T[], range: T[]) {
source.push(...range);
}
我们有两个数组a和b,这里的代码是将数组a的值推入数组b。
let a = [2, 4, 6, 8, 9, 15]
function transform(a) {
let b = ['4', '16', '64']
a.forEach(function(e) {
b.push(e.toString());
});
return b;
}
transform(a)
[ '4', '16', '64', '2', '4', '6', '8', '9', '15' ]
这是ES6的方式
var newArray = [];
数据1 = [1,2,3,4]
请注意数据2 = [5,6,7,8]
纽瓦雷= [..]dataArray1, ... dataArray2]
console . log (newArray)
上面的方法适用于大多数情况,在不适用的情况下请考虑concat,比如数组中有数十万项。
数据1 = [1,2,3,4]
请注意数据2 = [5,6,7,8]
让纽瓦雷= dataArray1.concat(dataArray2);
console . log (newArray)