目录
1、修改数组
push():添加
pop():删除
unshift():添加
shift():删除
splice():修改,删除,添加
2、访问数组
concat():连接数组
join():连接
slice():提取字符串或数组
indexOf():索引
lastIndexOf():索引
includes():判断
forEach():遍历
3、数组操作
sort():排序
reverse():颠倒数组
filter():判断数组
map():处理数组
reduce():累加
push()
:添加在数组末尾添加一个或多个元素,并返回新的长度。
let arr = [1, 2, 3, 4, 5];
let str = arr.join(",");
console.log(str); // 输出 "1, 2, 3, 4, 5"
pop()
:删除删除数组末尾的元素,并返回该元素。
var fruits = ["apple", "banana", "orange"];
var lastFruit = fruits.pop();
// fruits: ["apple", "banana"]
// lastFruit: "orange"
unshift()
:添加在数组头部添加一个或多个元素,并返回新的长度。
var fruits = ["apple", "banana"];
var length = fruits.unshift("orange");
// fruits: ["orange", "apple", "banana"]
// length: 3
shift()
:删除删除数组头部的元素,并返回该元素。
var fruits = ["orange", "apple", "banana"];
var firstFruit = fruits.shift();
// fruits: ["apple", "banana"]
// firstFruit: "orange"
splice()
:修改,删除,添加从指定位置开始修改数组,删除/添加元素,并返回被删除的元素(如果有)组成的数组。
//1, 删除元素:索引都是从0开始
var array = [1, 2, 3, 4, 5];
array.splice(2, 1); // 从索引 2 开始删除 1 个元素
console.log(array); // 输出 [1, 2, 4, 5]
//2 插入元素:
let array1 = [1, 2, 3, 4, 5];
array1.splice(2, 0, 'a', 'b'); // 从索引 2 开始删除 0 个元素,并插入 'a' 和 'b'
console.log(array1); // 输出 [1, 2, 'a', 'b', 3, 4, 5]
// 3替换元素:
let array2 = [1, 2, 3, 4, 5];
array2.splice(2, 2, 'a', 'b'); // 从索引 2 开始删除 2 个元素,并插入 'a' 和 'b'
console.log(array2); // 输出 [1, 2, 'a', 'b', 5]
concat()
:连接数组连接两个或多个数组,并返回新的数组。
var fruits = ["apple", "banana"];
var moreFruits = ["orange", "pear"];
var allFruits = fruits.concat(moreFruits);
// allFruits: ["apple", "banana", "orange", "pear"]
join()
:连接将数组中的所有元素以指定分隔符连接成一个字符串并返回。
var fruits = ["apple", "banana", "orange"];
var fruitString = fruits.join("-");
// fruitString: "apple-banana-orange"
slice()
:提取字符串或数组从原数组中返回选定的元素,不会修改原数组。
// slice() 方法的基本语法如下:
// str 是要处理的字符串,
// startIndex 是起始位置的索引(包括该位置的字符),
//endIndex 是结束位置的索引(不包括该位置的字符)。
// str.slice(startIndex, endIndex)
let str = "Hello, world!";
let slicedStr = str.slice(7, 12);
console.log(slicedStr); // 输出 "world"
let arr = [1, 2, 3, 4, 5];
let slicedArr = arr.slice(1, 3);
console.log(slicedArr); // 输出 [2, 3]
indexOf()
:索引返回指定元素在数组中第一次出现的位置,如果不存在则返回-1。
var fruits = ["apple", "banana", "orange"];
var index = fruits.indexOf("banana");
// index: 1
lastIndexOf()
:索引返回指定元素在数组中最后一次出现的位置,如果不存在则返回-1。
var fruits = ["apple", "banana", "orange", "banana"];
var index = fruits.lastIndexOf("banana");
// index: 3
includes()
:判断判断数组是否包含指定元素,返回布尔值。
var fruits = ["apple", "banana", "orange"];
var hasBanana = fruits.includes("banana");
// hasBanana: true
forEach()
:遍历对数组中的每个元素执行一次给定的函数。
var fruits = ["apple", "banana", "orange"];
fruits.forEach(function(fruit){
console.log(fruit);
});
// 输出结果:
// apple
// banana
// orange
sort()
:排序对数组进行排序,默认按照字符串的Unicode码进行排序。
var fruits = ["orange", "apple", "banana"];
fruits.sort();
// fruits: ["apple", "banana", "orange"]
reverse()
:颠倒数组将数组中的元素位置颠倒,并返回该数组。
var fruits = ["apple", "banana", "orange"];
fruits.reverse();
// fruits: ["orange", "banana", "apple"]
filter()
:判断数组返回一个新数组,其中包含通过给定函数测试的所有元素。
var numbers = [1, 2, 3, 4, 5];
var oddNumbers = numbers.filter(function(number){
return number % 2 === 1;
});
// oddNumbers: [1, 3, 5]
map()
:处理数组返回一个新数组,其中包含使用给定函数处理后的所有元素。
var numbers = [1, 2, 3, 4, 5];
var doubledNumbers = numbers.map(function(number){
return number * 2;
});
// doubledNumbers: [2, 4, 6, 8, 10]
reduce()
:累加将数组中的所有元素通过函数累加,返回一个值。
var numbers = [1, 2, 3, 4, 5];
var sum = numbers.reduce(function(total, number){
return total + number;
});
// sum: 15