let arr = [1, 2, 3];
arr.push(4); // arr 现在是 [1, 2, 3, 4]
let arr = [1, 2, 3, 4];
let last = arr.pop(); // last 现在是 4,arr 现在是 [1, 2, 3]
let arr = [1, 2, 3, 4];
let first = arr.shift(); // first 现在是 1,arr 现在是 [2, 3, 4]
let arr = [2, 3, 4];
arr.unshift(1); // arr 现在是 [1, 2, 3, 4]
let arr = [0, 1, 2, 3, 4];
let sliced = arr.slice(1, 3); // sliced 现在是 [1, 2]
let arr = [0, 1, 2, 3];
arr.splice(1, 2, 'a', 'b'); // arr现在是 [0, 'a', 'b', 3]
let arr = [3, 1, 4];
arr.sort(); // arr现在是 [1, 3, 4]
let arr = [0, 1, 2];
arr.reverse(); // arr现在是 [2, 1, 0]
let new_array = old_array.concat(value1[, value2[, ...[, valueN]]]);
。它将把所有可迭代的参数合并到一起,并返回结果数组。所以如果要合并两个字符串(字符串也可以使用该方法)也是可以的,代码如下:var str1 = 'Hello';
和 var str2 = 'World';
通过 str1.concat(str2);
后会得到结果字符串 'HelloWorld'
。 注意,该方法并不会把合并的结果存储在新的变量里,而是改变了原来的旧变量。如需使用结果值,需要将结果赋值给新的变量:var result = str1.concat(str2);
这样 result
的值就是 'HelloWorld'
。let arr = ['a', 'b', 'c'];
let str = arr.join(); // str现在是 "a,b,c"
let arr = ['a', 'b', 'c'];
let index = arr.indexOf('b'); // index现在是 1
let arr = ['a', 'b', 'c', 'b'];
let index = arr.lastIndexOf('b'); // index现在是 3
let arr = [1, 2, 3];
arr.forEach(function(value, index) {
console.log(value); // 依次输出 1, 2, 3
});
let arr = [1, 2, 3];
let newArr = arr.map(function(value) {
return value * 2; // 返回新数组 [2, 4, 6]
});
let arr = [1, 2, 3, 4];
let newArr = arr.filter(function(value) {
return value > 2; // 返回新数组 [3, 4]
});
let arr = [1, 2, 3, 4];
let sum = arr.reduce(function(a, b) {
return a + b; // 返回 10
}, 0);
let arr = [1, 2, 3, 4];
let value = arr.find(function(value) {
return value > 2; // 返回 3
});
let arr = [1, 2, 3, 4];
let index = arr.findIndex(function(value) {
return value > 2; // 返回 2
});
let arr = [1, 2, 3, 4];
let result = arr.some(function(value) {
return value > 3; // 返回 true
});
let arr = [1, 2, 3, 4];
let allPositive = arr.every(function(value) {
return value > 0; // 返回 true
});
let arr = [1, 2, 3, 4];
let included = arr.includes(2); // 返回 true
flatten()
并不是标准的方法,但经常被误用或混淆;应使用 flat()
)let arr = [1, 2, [3, 4, [5, 6]]];
let flattened = arr.flat(2); // 返回 [1, 2, 3, 4, 5, 6]
let arr = [1, 2, 3];
let newArr = arr.flatMap(function(value) {
return [value, value * 2]; // 返回 [1, 2, 2, 4, 3, 6]
});
let arr = ['a', 'b', 'c'];
let iterator = arr.entries();
for (let entry of iterator) {
console.log(entry); // 输出 [0, 'a'], [1, 'b'], [2, 'c']
}
let arr = ['a', 'b', 'c'];
let iterator = arr.keys();
for (let key of iterator) {
console.log(key); // 输出 0, 1, 2
}
let arr = ['a', 'b', 'c'];
let iterator = arr.values();
for (let value of iterator) {
console.log(value); // 输出 'a', 'b', 'c'
}
let arr = [1, 2, 3, 4, 5];
arr.copyWithin(0, 3, 4); // 返回 [4, 2, 3, 4, 5],从索引3复制元素到索引0
let arr = [1, 2, 3, 4, 5];
arr.fill(0, 1, 3); // 返回 [1, 0, 0, 4, 5],从索引1到索引3(不包括)填充0