用于将一个或多个元素添加到数组的末尾,并返回修改后的数组的新长度。(注意: push() 方法会修改原始数组,而不是创建一个新的数组。)
array.push(element1, element2, ..., elementN)
let arr = [1, 2, 3];
arr.push(4); // 向数组末尾添加元素
console.log(arr); // [1, 2, 3, 4]
arr.push(5, 6); // 可以一次添加多个元素
console.log(arr); // [1, 2, 3, 4, 5, 6]
let arr = [1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 8];
let uniqueArr = [];
arr.forEach((value) => {
if (!uniqueArr.includes(value)) {
uniqueArr.push(value);
}
});
console.log(uniqueArr); // [1, 2, 3, 4, 5, 6, 7, 8]
用于删除数组的最后一个元素,并返回被删除的元素。(注意: pop() 方法会修改原始数组,而不是创建一个新的数组。如果数组为空,则调用 pop() 方法时不会产生错误,而是返回 undefined)
array.pop()
let arr = [1, 2, 3, 4];
let lastElement = arr.pop(); // 删除数组的最后一个元素
console.log(lastElement); // 4
console.log(arr); // [1, 2, 3]
用于将一个或多个元素添加到数组的开头,并返回修改后的数组的新长度。(**注意:**unshift() 方法会修改原始数组,而不是创建一个新的数组。)
array.unshift(element1, element2, ..., elementN)
let arr = [3, 4, 5];
arr.unshift(1); // 向数组开头添加元素
console.log(arr); // [1, 3, 4, 5]
arr.unshift(0, 2); // 可以一次添加多个元素
console.log(arr); // [0, 2, 1, 3, 4, 5]
用于删除数组的第一个元素,并返回被删除的元素。(注意: shift() 方法会修改原始数组,而不是创建一个新的数组。如果数组为空,则调用 shift() 方法时不会产生错误,而是返回 undefined。)
array.shift()
let arr = [1, 2, 3, 4];
let firstElement = arr.shift(); // 删除数组的第一个元素
console.log(firstElement); // 1
console.log(arr); // [2, 3, 4]
用于在任意位置向数组添加或删除元素,并返回被删除的元素。(注意: splice() 方法会修改原始数组,而不是创建一个新的数组。)
array.splice(start, deleteCount, item1, item2, ..., itemN)
let arr = [1, 2, 3, 4, 5];
let removed = arr.splice(1, 2); // 从索引为 1 的位置删除 2 个元素
console.log(arr); // [1, 4, 5]
console.log(removed); // [2, 3]
arr.splice(2, 0, "a", "b"); // 在索引为 2 的位置添加两个元素
console.log(arr); // [1, 4, "a", "b", 5]
用于将数组的所有元素以指定的分隔符连接成一个字符串。(注意: join() 方法不会修改原始数组,而是返回一个新的字符串。)
array.join(separator)
let arr = ["apple", "banana", "orange"];
let result = arr.join(); // 使用默认分隔符(逗号)
console.log(result); // "apple,banana,orange"
result = arr.join("-"); // 使用短横线作为分隔符
console.log(result); // "apple-banana-orange"
用于从数组中选取一部分元素,创建一个新的数组并返回。(注意: slice() 方法不会修改原始数组,而是返回一个新的数组。)
slice() 方法常用于从数组中选取一部分元素进行操作,例如对选取的元素进行排序、过滤、查找等操作。
array.slice(start, end)
let arr = ["apple", "banana", "orange", "pear", "peach"];
let result = arr.slice(1, 3); // 从索引为 1 的位置开始(包括该元素),选取 2 个元素(不包括索引为 3 的元素)
console.log(result); // ["banana", "orange"]
result = arr.slice(-2); // 从数组末尾倒数第二个元素开始选取所有元素
console.log(result); // ["pear", "peach"]
用于将两个或多个数组合并成一个新数组。它不会修改原始数组,而是返回一个新的数组。
newArray = array1.concat(array2, array3, ..., arrayX);
var array1 = [1, 2, 3];
var array2 = [4, 5, 6];
var newArray = array1.concat(array2);
console.log(newArray); // 输出: [1, 2, 3, 4, 5, 6]
var array1 = [1, 2, 3];
var str = 'Hello';
var newArray = array1.concat(str);
console.log(newArray); // 输出: [1, 2, 3, "H", "e", "l", "l", "o"]
var array1 = [1, 2, 3];
var array2 = [[4, 5], [6]];
var newArray = array1.concat(array2);
console.log(newArray); // 输出: [1, 2, 3, [4, 5], [6]]
用于对数组元素进行排序。默认情况下,它会将元素转换为字符串并按照Unicode编码顺序进行排序。即使数组中的元素是数字,它们也会被当作字符串进行比较。(注意: sort()方法会直接修改原始数组,而不是创建一个新的排序后的数组。如果希望保留原数组并创建一个新的排序后的数组,应该在排序前先复制一份原数组。)
array.sort(compareFunction);
var fruits = ['apple', 'banana', 'cherry', 'date'];
fruits.sort();
console.log(fruits); // 输出: ["apple", "banana", "cherry", "date"]
var numbers = [10, 5, 8, 20, 3];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers); // 输出: [3, 5, 8, 10, 20]
用于对数组中的每个元素执行一次提供的函数。它不会改变原始数组,而是对数组进行遍历操作。(注意: forEach()方法对于空数组将不会执行任何操作,而且无法使用break和continue语句中断循环。如果需要在遍历过程中中断循环,应该使用for循环或some()或every()等其他方法)
array.forEach(function(currentValue, index, array) {
// 在这里编写需要执行的代码
});
var fruits = ['apple', 'banana', 'cherry'];
fruits.forEach(function(fruit, index) {
console.log(index + ': ' + fruit);
});
// 输出:
// 0: apple
// 1: banana
// 2: cherry
用于创建一个新数组,其中包含通过指定函数测试的所有元素。它不会修改原始数组,而是返回一个过滤后的新数组。(注意: filter()方法创建一个新数组,其中只包含通过测试的元素。原始数组不会被修改。)
newArray = array.filter(function(currentValue, index, array) {
// 在这里编写需要执行的判断条件
// 如果判断为true,则将当前元素添加到新数组中
});
var numbers = [1, 2, 3, 4, 5];
var evenNumbers = numbers.filter(function(number) {
return number % 2 === 0;
});
console.log(evenNumbers); // 输出: [2, 4]
用于创建一个新数组,其中包含对原始数组的每个元素应用指定函数的结果。它不会修改原始数组,而是返回一个映射后的新数组。(注意: map()方法创建一个新数组,其中包含对原始数组元素应用函数操作的结果。原始数组不会被修改。)
newArray = array.map(function(currentValue, index, array) {
// 在这里编写需要执行的操作,并返回操作的结果
});
var numbers = [1, 2, 3, 4, 5];
var squaredNumbers = numbers.map(function(number) {
return number * number;
});
console.log(squaredNumbers); // 输出: [1, 4, 9, 16, 25]
用于测试数组中的元素是否至少有一个满足指定条件的函数。它会遍历数组,直到找到满足条件的元素,然后返回true,否则返回false。(注意: some()方法只要找到满足条件的元素就会立即停止遍历,不会继续对剩余的元素进行判断。)
array.some(function(currentValue, index, array) {
// 在这里编写需要执行的判断条件
// 如果判断为true,则停止遍历并返回true
// 如果遍历结束也没有找到满足条件的元素,则返回false
});
var numbers = [1, 2, 3, 4, 5];
var hasEvenNumber = numbers.some(function(number) {
return number % 2 === 0;
});
console.log(hasEvenNumber); // 输出: true
用于测试数组中的所有元素是否都满足指定条件的函数。它会遍历数组,直到找到一个不满足条件的元素,然后返回false,否则返回true。(注意: every()方法会遍历整个数组,直到找到不满足条件的元素或者遍历结束。如果数组为空,则every()方法将始终返回true。)
array.every(function(currentValue, index, array) {
// 在这里编写需要执行的判断条件
// 如果判断为false,则停止遍历并返回false
// 如果遍历结束没有找到不满足条件的元素,则返回true
});
var numbers = [1, 2, 3, 4, 5];
var allEvenNumbers = numbers.every(function(number) {
return number % 2 === 0;
});
console.log(allEvenNumbers); // 输出: false
用于返回数组中指定元素的第一个索引位置。如果没有找到该元素,则返回-1。(注意: indexOf()方法对于查找基本数据类型(如数字、字符串、布尔值)非常有效。但是,对于查找对象或数组等复杂类型,它只能检查是否是同一引用,而不能检查对象或数组的内容是否相同。)
array.indexOf(searchValue, startIndex);
var fruits = ["apple", "banana", "orange"];
var bananaIndex = fruits.indexOf("banana");
console.log(bananaIndex); // 输出: 1
用于返回数组中指定元素的最后一个索引位置。如果没有找到该元素,则返回-1。(注意: lastIndexOf()方法对于查找基本数据类型(如数字、字符串、布尔值)非常有效。但是,对于查找对象或数组等复杂类型,它只能检查是否是同一引用,而不能检查对象或数组的内容是否相同。)
array.lastIndexOf(searchValue, startIndex);
var fruits = ["apple", "banana", "orange", "banana"];
var bananaIndex = fruits.lastIndexOf("banana");
console.log(bananaIndex); // 输出: 3
用于反转数组中的元素顺序。即,将数组中第一个元素变为最后一个元素,将最后一个元素变为第一个元素,以此类推。(注意: reverse()方法会把数组中的所有元素反转。这意味着它会反转数组中最后一个元素和第一个元素的位置,然后将倒数第二个元素和第二个元素的位置反转,以此类推。)
array.reverse();
var fruits = ["apple", "banana", "orange"];
fruits.reverse();
console.log(fruits); // 输出: ["orange", "banana", "apple"]
用于对数组中的每个元素执行一个回调函数,并将结果汇总为单个值。
javascript
array.reduce(callback, initialValue);
var numbers = [1, 2, 3, 4, 5];
var sum = numbers.reduce(function(accumulator, currentValue) {
return accumulator + currentValue;
}, 0);
console.log(sum); // 输出: 15
用于在数组中查找符合条件的第一个元素,并返回该元素。(注意: find()方法只返回符合条件的第一个元素。如果数组中有多个元素满足条件,find()方法也只会返回第一个符合条件的元素。)
array.find(callback);
var numbers = [1, 2, 3, 4, 5];
var evenNumber = numbers.find(function(element) {
return element % 2 === 0;
});
console.log(evenNumber); // 输出: 2
用于在数组中查找符合条件的第一个元素的索引,并返回该索引。(注意: findIndex()方法只返回符合条件的第一个元素的索引。如果数组中有多个元素满足条件,findIndex()方法也只会返回第一个符合条件的元素的索引。)
array.findIndex(callback);
var numbers = [1, 2, 3, 4, 5];
var evenIndex = numbers.findIndex(function(element) {
return element % 2 === 0;
});
console.log(evenIndex); // 输出: 1
用于将数组的所有元素替换为静态值,从指定的起始索引开始到指定的结束索引结束。(注意: fill()方法会改变原始数组,而不是创建一个新数组。)
array.fill(value, start, end);
var numbers = [1, 2, 3, 4, 5];
numbers.fill(0, 2, 4);
console.log(numbers); // 输出: [1, 2, 0, 0, 5]
用于将数组中的一部分元素复制到指定的位置。(注意: copyWithin()方法会改变原始数组,而不是创建一个新数组。)
array.copyWithin(target, start, end);
var numbers = [1, 2, 3, 4, 5];
numbers.copyWithin(0, 3, 5);
console.log(numbers); // 输出: [4, 5, 3, 4, 5]
用于判断数组是否包含指定的值。
array.includes(value, fromIndex);
var numbers = [1, 2, 3, 4, 5];
console.log(numbers.includes(3)); // 输出: true
console.log(numbers.includes(6)); // 输出: false