js 会修改原数组的方法 数组
1.不会改变原来数组的有:
concat()---连接两个或更多的数组,并返回结果。
every()---检测数组元素的每个元素是否都符合条件。
some()---检测数组元素中是否有元素符合指定条件。
filter()---检测数组元素,并返回符合条件所有元素的数组。
indexOf()---搜索数组中的元素,并返回它首次出现的位置。
join()---把数组的所有元素放入一个字符串。
toString()---把数组转换为字符串,并返回结果。
lastIndexOf()---返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
map()---通过指定函数处理数组的每个元素,并返回处理后的数组。
slice()---选取数组的的一部分,并返回一个新数组。
valueOf()---返回数组对象的原始值。
find()---返回数组中符合测试函数条件的第一个元素
reduce()---可以作为累加器
2.会改变原来数组的有:
pop()---删除数组的最后一个元素并返回删除的元素。
push()---向数组的末尾添加一个或更多元素,并返回新的长度。
shift()---删除并返回数组的第一个元素。
unshift()---向数组的开头添加一个或更多元素,并返回新的长度。
reverse()---反转数组的元素顺序。
sort()---对数组的元素进行排序。
splice()---用于插入、删除或替换数组的元素。
1.push(); 方法:在数组的最后面添加内容,返回值是添加后数组的长度 改变原数组
var a = [2,3,4];
var b = a.push(5);
console.log(a); //[2,3,4,5]
console.log(b); //4
1
2
3
4
2.pop() 方法:把数组的最后一个删除,返回值是删除的那一项 改变原数组
var arr = [2,3,4];
console.log(arr.pop()); //4
console.log(arr); //[2,3]
1
2
3
3.unshift() 方法:在数组的最前面添加内容,返回值是添加后数组的长度改变原数组
var arr = [2,3,4,5];
console.log(arr.unshift(3,6)); //6
console.log(arr); //[3, 6, 2, 3, 4, 5]
1
2
3
4.shift() 方法:删除数组中的第一项,返回值是删除的那一项 改变原数组
var arr = [2,3,4];
console.log(arr.shift()); //2
console.log(arr); //[3,4]
1
2
3
5.concat() 方法:拼接数组
var arr1 = [1,2,3];
var arr2 = [4,5];
var arr3 = arr1.concat(arr2);
console.log(arr1); //[1, 2, 3]
console.log(arr3); //[1, 2, 3, 4, 5]
1
2
3
4
5
6
6.join() 方法:把数组中的每一项用特定的字符串连接起来 不改变原数组
var arr = [2,3,4];
console.log(arr.join()); //2,3,4
console.log(arr); //[2, 3, 4]
1
2
3
7.slice(a,b) 方法: 从索引a开始截取(包括a),一直截取到b(不包括b),如果里面只有一个参数,,那么就直接截取到末尾,不改变原数组
var arr = [2,3,4,5];
console.log(arr.slice(1,3)); //[3,4]
console.log(arr); //[2,3,4,5]
1
2
3
8.splice(a,b,c); 方法:从索引a开始截取b个元素,并用c替换截取的元素,并改变原来的数组,如果只有一个参数,表示从这个索引开始截取到末尾
splice(a,b) 方法里面如果第一个参数为负数的话,使用方法跟slice() 方法一样,如果第二个参数为负数的话,表示截取的是一个空数组 改变原数组
var a = [5,6,7,8];
console.log(a.splice(1,0,9)); //[]
console.log(a); // [5, 9, 6, 7, 8]
var b = [5,6,7,8];
console.log(b.splice(1,2,3)); //[6, 7]
console.log(b); //[5, 3, 8]
1
2
3
4
5
6
9.sort(function (a,b){return a-b}); 数组排序方法
var fruit = ['cherries', 'apples', 'bananas'];
fruit.sort(); // ['apples', 'bananas', 'cherries']
var scores = [1, 10, 21, 2];
scores.sort(); // [1, 10, 2, 21]
1
2
3
4
10.reverse(); 方法:数组翻转方法 改变原数组
var arr = [2,3,4];
console.log(arr.reverse()); //[4, 3, 2]
console.log(arr); //[4, 3, 2]
1
2
3
11.forEach(function (ele,index){console.log(ele,index)}); 方法:遍历数组,传入一个回调函数,里面有三个参数,第一个是元素值,第二个是索引,第三个是数组 没有返回值 不改变原数组
12.every(function (ele){return ele > 20}); 传入一个回调函数,返回值是boolean类型值
function isBigEnough(element, index, array) {
return element < 10;
}
[2, 5, 8, 3, 4].every(isBigEnough); // true
1
2
3
4
13.map(function (ele){return ele + 10}); 或 map(Math.sprt); 让数组中的每一个元素按照函数的方法去执行,返回一个新的数组
14.filter(functoon (ele){return ele < 50}); 起到过滤作用, 让数组中的每一个元素按照函数的方法去执行,把符合条件的元素放到一个新的数组中返回
ES6
15.find():传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它,并且终止搜索。
const arr = [1, "2", 3, 3, "2"]
console.log(arr.find(n => typeof n === "number")) // 1
1
2
3
16.findIndex():传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它的下标,终止搜索。
const arr = [1, "2", 3, 3, "2"]
console.log(arr.findIndex(n => typeof n === "number")) // 0
1
2
17.fill():arr.fill(value, start, end) 用新元素替换掉数组内的元素,可以指定替换下标范围。
18.includes()判断数组中是否存在该元素,参数:查找的值、起始位置,可以替换 ES5 时代的 indexOf 判断方式。indexOf 判断元素是否为 NaN,会判断错误。
var a = [1, 2, 3];
a.includes(2); // true
a.includes(4); // false
1
2
3
19.copyWithin():选择数组的某个下标,从该位置开始复制数组元素,默认从0开始复制。也可以指定要复制的元素范围。
arr.copyWithin(target, start, end)
const arr = [1, 2, 3, 4, 5]
console.log(arr.copyWithin(3))
// [1,2,3,1,2] 从下标为3的元素开始,复制数组,所以4, 5被替换成1, 2
const arr1 = [1, 2, 3, 4, 5]
console.log(arr1.copyWithin(3, 1))
// [1,2,3,2,3] 从下标为3的元素开始,复制数组,指定复制的第一个元素下标为1,所以4, 5被替换成2, 3
const arr2 = [1, 2, 3, 4, 5]
console.log(arr2.copyWithin(3, 1, 2))
// [1,2,3,2,5] 从下标为3的元素开始,复制数组,指定复制的第一个元素下标为1,结束位置为2,所以4被替换成2
1
2
3
4
5
6
7
8
9
10
20.entries()返回迭代器:返回键值对
//数组
const arr = ['a', 'b', 'c'];
for(let v of arr.entries()) {
console.log(v)
}
// [0, 'a'] [1, 'b'] [2, 'c']
//Set
const arr = new Set(['a', 'b', 'c']);
for(let v of arr.entries()) {
console.log(v)
}
// ['a', 'a'] ['b', 'b'] ['c', 'c']
//Map
const arr = new Map();
arr.set('a', 'a');
arr.set('b', 'b');
for(let v of arr.entries()) {
console.log(v)
}
// ['a', 'a'] ['b', 'b']
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
————————————————
版权声明:本文为CSDN博主「bug的壹生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_54410967/article/details/115198505