- push() - 在数组末尾添加一个或多个元素,并返回新的长度。
let arr = [1, 2, 3];
let newLength = arr.push(4, 5);
console.log(arr); // 输出:[1, 2, 3, 4, 5]
console.log(newLength); // 输出:5
- pop() - 删除数组的最后一个元素,并返回那个元素。
let arr = [1, 2, 3];
let lastElement = arr.pop();
console.log(arr); // 输出:[1, 2]
console.log(lastElement); // 输出:3
- unshift() - 在数组开始添加一个或多个元素,并返回新的长度。
let arr = [3, 4, 5];
let newLength = arr.unshift(1, 2);
console.log(arr); // 输出:[1, 2, 3, 4, 5]
console.log(newLength); // 输出:5
- shift() - 删除数组的第一个元素,并返回那个元素。
let arr = [1, 2, 3];
let firstElement = arr.shift();
console.log(arr); // 输出:[2, 3]
console.log(firstElement); // 输出:1
- splice() - 通过删除现有元素和/或添加新元素来更改一个数组的内容。
let arr = [1, 2, 3, 4, 5];
let removedElements = arr.splice(2, 3, 'a', 'b'); // 从索引2开始,删除3个元素,并添加'a'和'b'
console.log(arr); // 输出:[1, 2, 'a', 'b', 5]
console.log(removedElements); // 输出:[3, 4, 5]
- slice() - 返回一个新的数组对象,这个对象是一个由原数组的一部分组成的浅拷贝,从原数组中提取开始到结束(不包括结束)的部分形成新数组。
let arr = [1, 2, 3, 4, 5];
let newArr = arr.slice(2, 4);
console.log(newArr); // 输出:[3, 4]
- co - 是一个生成器的语法糖,它允许你以更简洁的方式编写生成器。
// 使用co之前
let fs = require('fs');
let co = require('co');
co(function *(){
let fd = yield fs.open('path/to/file', 'w');
yield fs.write(fd, 'Hello World!', 0);
yield fs.close(fd);
}).then(() => {
console.log('File written!');
}).catch(err => {
console.error('Error: ', err);
});
// 使用co之后
const co = require('co');
const fs = require('fs').promises;
co(async () => {
let fd = await fs.open('path/to/file', 'w');
await fs.write(fd, 'Hello World!', 0);
await fs.close(fd);
}).then(() => {
console.log('File written!');
}).catch(err => {
console.error('Error: ', err);
});
以上是对JS数组常用方法的详细解释和示例。