数组的方法总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

1、push()

将一个或多个新元素添加到数组结尾,并返回数组新长度。

// 示例:
let arr = [1,2,3];
let newArr = arr.push(4);
console.log(newArr); // 4
console.log(arr); // [1,2,3,4]

2、unshift()

将一个或多个新元素添加到数组起始位置,并返回数组新长度。

// 示例:
let arr = [1,2,3];
let newArr = arr.unshift('zhangsan');
console.log(newArr); // 4
console.log(arr); //  ['zhangsan', 1, 2, 3]

3、pop()

删除数组的最后一个元素,并返回删除的那个值。

// 示例:
let arr = [1,2,3];
let newArr = arr.pop();
console.log(newArr); // 3
console.log(arr); // [1,2]

4、shift()

删除数组的第一个元素,并返回删除的那个值。

// 示例:
let arr = [1,2,3];
let newArr = arr.shift();
console.log(newArr); // 1
console.log(arr); // [2,3]

5、join()

将一个或多个新元素添加到数组起始位置,并返回数组新长度。

// 示例:
let arr = [1,2,3];
let newArr = arr.unshift('zhangsan');
console.log(newArr); // 4
console.log(arr); //  ['zhangsan', 1, 2, 3]

7、concat()

连接两个或多个数组,不会改变现有数组,而是返回一个新数组。

// 示例:
let arr1 = [1,2,3];
let arr2 = ['zhangsan','lisi'];
let arr3 = arr1.concat(arr2) ; 
console.log(arr3); //  [ 1, 2, 3,'zhangsan','lisi']

8、sort()

对数组的元素进行排序,该方法会改变原来的数组。

// 示例:
//升序
let arr1 = [87,9,17,2,27,54];
arr1.sort(
	function(a, b) {
    	return a - b 
  	}
)
console.log(arr1)// [2, 9, 17, 27, 54, 87]

//降序
arr1.sort(
	function(a, b) {
		return b - a 
  	}
)
console.log(arr1)//  [87, 54, 27, 17, 9, 2]

9、reverse()

用于颠倒数组中元素的顺序,该方法会改变原来的数组。

// 示例:
let arr1 = [1,2,3,4,5,6];
arr1.reverse();
console.log(arr1); //  [6, 5, 4, 3, 2, 1]

10、slice()

返回从原数组中指定开始下标到结束下标之间的项组成的新数组。

// 语法:
array。slice(begin, end)
//begin:必选,表示从哪里开始选取。
//end:必选,表示从哪里结束选取。

在只有一个参数的情况下, slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。
如果有两个参数, 该方法返回起始和结束位置之间的项——但不包括结束位置的项。

// 示例:
let arr1 = [1,2,3,4,5,6];
let arr2 = arr1.slice(0,2);
let arr3 = arr1.slice(1);
console.log(arr2);// [1, 2]
console.log(arr3);// [2, 3, 4, 5, 6]

11、indexOf()

从数组的开头开始向后查找指定数据, 如果有则返回该数据的下标值, 没有则返回-1。

// 语法:
array.indexOf(value,index));
//value:必选,表示要查找的数据
//index:可选,要查找的项和
// 示例:
let arr = [1,2,3,4,5,6];
console.log(arr.indexOf(5));// 4
console.log(arr.indexOf(0));// -1
console.log(arr.indexOf(5,2));// 4

12、lastIndexOf()

从数组的末尾开始向后查找指定数据, 如果有则返回该数据的下标值, 没有则返回-1。

// 示例:
let arr = [1,2,3,4,5,6];
console.log(arr.lastIndexOf(5));// 4
console.log(arr.lastIndexOf(0));// -1
console.log(arr.lastIndexOf(5,2));// -1

13、forEach()

对数组进行遍历循环,这个方法没有返回值。
参数都是function类型,默认有传参,参数分别为:
value:遍历到的数组的数据
index:对应的索引
self:数组自身

// 示例:
 let arr = [1, 2, 3, 4, 5];
 arr.forEach(function (value, index, self) {
 	console.log(value + '|' + index + '|' + (self === arr));
 });
// 1|0|true
// 2|1|true
// 3|2|true
// 4|3|true
// 5|4|true

14、map()

根据指定的条件处理数组元素,并且返回处理之后的数组元素组成的新数组。

// 示例:
let arr1 = [1, 2, 3, 4, 5];
let arr2 = arr1.map(function (item) {
 	return item * item;
});
console.log(arr2); //[1, 4, 9, 16, 25]

15、filter()

“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。

// 示例:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let arr2 = arr.filter(function (value, index) {
   return value > 5;
});
console.log(arr2); // [6, 7, 8, 9, 10]

16、every()

判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。

// 示例:
let arr = [1, 2, 3, 4,];
let arr2 = arr.every(function (x) {
	return x < 10;
});
console.log(arr2); // true

let arr3 = arr.every(function (x) {
  	return x > 5;
});
console.log(arr3); // false

17、 some()

判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。

// 示例:
 let arr = [1, 2, 3, 4, 5];
 let arr2 = arr.some(function (x) {
   return x < 3;
 });
 console.log(arr2); //true
 let arr3 = arr.some(function (x) {
   return x < 1;
 });
 console.log(arr3); // false

18、find()

用于找出第一个符合条件的数组成员,如果没有找到返回undefined。

// 示例:
let arr1 = [{
    id : 1,
    name : 'hy'
},
{
    id : 2,
    name : 'yh'
}]

let arr2 =arr1.find(function(item,index){
    return item.id === 2;
} )
console.log(arr2);// {id: 2, name: 'yh'}

let arr3 =arr1.find(function(item,index){
    return item.name ==='zhangsan'
} )
console.log(arr3);// undefined

19、 findindex()

用于在数组中查找第一个符合条件的数组成员的索引,如果没有找到则返回-1。

// 示例:
let arr1 = [1,3,10,15];
let index1 = arr1.findIndex((value, index) => value > 9);
console.log(index1);// 2

let index2 = arr1.findIndex((value, index) => value < 0);
console.log(index2);// -1

20、includes()

检查数组是否包含某个给定的值,返回一个布尔值。

// 示例:
 let arr = [1,2,3];
 let result = arr.includes(1);
 console.log(result);// true
 
 result = arr.includes(4);
 console.log(result);// false

21、reduce()

接收一个函数作为累加器,reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素。

//callback:函数中包含四个参数
//previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
//currentValue (数组中当前被处理的元素)
//index (当前元素在数组中的索引)
//array (调用的数组)
//initialValue (作为第一次调用 callback 的第一个参数。)
// 示例:
let arr = [1,2,3,4,5];
let arr1 = arr.reduce((preValue, curValue) => 
    preValue + curValue
)
console.log(arr1)    // 15
let arr2 = arr.reduce((preValue,curValue)=>preValue + curValue,5)
console.log(arr2)    // 20

22、Array.from()

将类数组或可遍历对象转换为真正的数组。

// 示例:
let arr = {
    '0':'a',
    '1':'b',
    '2':'c',
    length:3
}
let arr1 = Array.from(arr);
console.log(arr1);//  ['a', 'b', 'c']
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JavaScript数组有很多内置方法,可以操作和处理数据。以下是JavaScript数组的所有方法列表: 1. `concat()` - 连接两个或多个数组。 2. `copyWithin()` - 在数组内部将一段元素拷贝到另一个位置。 3. `entries()` - 返回一个迭代器对象,可以遍历数组所有的键值对。 4. `every()` - 检查数组中的所有元素是否满足一个条件。 5. `fill()` - 用静态值填充一个数组中的所有元素。 6. `filter()` - 通过指定条件过滤出符合条件的数组元素。 7. `find()` - 返回找到的第一个元素,满足条件。 8. `findIndex()` - 返回目标元素索引,满足条件。 9. `forEach()` - 遍历数组,对每个元素执行指定的操作。 10. `includes()` - 判断数组是否包含指定元素。 11. `indexOf()` - 返回指定元素第一个出现的位置索引。 12. `join()` - 连接数组元素,返回字符串。 13. `keys()` - 返回一个迭代器对象,可以遍历数组的键。 14. `lastIndexOf()` - 返回指定元素最后一次出现的位置索引。 15. `map()` - 遍历数组,对每个元素执行指定的操作,将结果放入新数组。 16. `pop()` - 删除数组最后一个元素。 17. `push()` - 在数组末尾添加一个或多个元素。 18. `reduce()` - 对数组中的每个元素执行指定的操作,累积计算并返回最终结果。 19. `reduceRight()` - 与reduce()方法类似,不过是从右到左遍历数组。 20. `reverse()` - 反转数组元素的顺序。 21. `shift()` - 删除数组的第一个元素。 22. `slice()` - 截取数组元素,返回新数组。 23. `some()` - 检查数组中是否存在至少一个元素满足一个条件。 24. `sort()` - 排序数组元素。 25. `splice()` - 删除、插入或替换数组中的元素。 26. `toString()` - 将数组转换成字符串。 27. `unshift()` - 在数组的开头添加一个或多个元素。 28. `valueOf()` - 返回数组本身。 以上方法中,有些方法会改变原数组,有些方法则不会。需要注意使用时,避免产生错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值