JS中数组的使用方法小结

JS中数组的用法

  1. filter(callback)过滤
    arrary对象的filter方法,是对数组每个元素都执行一次filter中的回调函数,它的结果会返回一个新数组,其中的元素满足回调函数中的条件,空数组不会执行这个方法,且不会改变原数组,只有在回调函数执行前传入的数组元素才有效,在回调函数开始执行后才添加的元素将被忽略;
    用法:
//过滤掉小于 10 的数组元素:
let filtered = [12, 5, 8, 130, 44].filter((e, index, array) => {
    return e >= 10
});
//结果:[12, 130, 44]
  1. map()和foreach
    都是循环遍历数组的方法,性能方面都不如for循环,map方法返回一个新的数组,不会改变原来的数组,他们都不会对空数组进行处理;

  2. some(callback)
    some方法是寻找某个数组中特定的值,返回true/false,数组中的非空元素都会去执行回调函数中的判断,只要有一个元素满足条件则返回true,全部为false才返回false

//判断数组中是否包括小于10的数
let state = [10,5,13,20].some((e, index, array) => {
	return e<10
})
//结果:true
  1. every(callback)
    这个方法主要用于判断一个数组中的元素是否都满足某个条件,因为只有当每个元素返回true的时候,方法才会返回true,若有一个不满足则返回false;
//判断元素是否都大于10
let state = [10,11,13,20]. every ((e, index, array) => {
	return e>10
})
//结果:true
let state1 = [10,11,13,20,5]. every ((e, index, array) => {
	return e>10
})
//结果:false
  1. reduce(callback)、reduceRight(callback)
    两个方法都是对于数组中的每一个元素按照一定顺序,进行叠加运算,具体的计算方式在回调函数中进行:
//1,2,3的累加,返回值为最后的数
[1,2,3].reduce((total,num) => {
	return total+num
})
//结果:6
//1,2,3的累乘,返回值为最后的数
[1,2,3,4].reduce((total,num) => {
	return total * num
})
//结果:24

reduceRight()方法用法一致,不过顺序是从后向前进行计算;

  1. pop()
    方法会删掉数组最后一个元素,改变原数组
Let arr = [1,2,3];
arr.pop();
console.log(arr);//[1,2]
  1. shift()
    方法会删掉数组中的第一个元素,改变了原数组
Let arr = [1,2,3];
arr.shift();
console.log(arr);//[2,3]
  1. unshift()
    方法会将元素添加到数组的开头
let arr = [1,2,3];
arr. unshift(4,5);
console.log(arr);//[4,5,1,2,3]
  1. concat()
    可以将多个数组拼成一个数组
let arr1 = [1, 2, 3],
      arr2 = [4, 5]
  let arr = arr1.concat(arr2)
  console.log(arr)//[1, 2, 3, 4, 5]

ES6有关数组的更多用法,请到MDN查找学习,这里真的是个宝库
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray

发布了30 篇原创文章 · 获赞 6 · 访问量 4737

猜你喜欢

转载自blog.csdn.net/EcbJS/article/details/104700849