JS数组的常用方法

五种数组迭代的方法

filter

Array.filter()方法是将所有元素进行判断,将满足条件的元素作为一个新的数组返回。

let arr = [1, 2, 3, 4, 5]
let newArr = arr.filter(item=>item>=3)
//newArr = [3, 4, 5] 满足条件的元素返回为一个新的数组

map

Array.map()方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,不会改变原来的数组。

let arr = [1, 2, 3, 4, 5]
let newArr = arr.map(x => x*2)
//arr= [1, 2, 3, 4, 5]   原数组保持不变
//newArr = [2, 4, 6, 8, 10] 返回新数组

forEach

Array.forEach()方法是将数组中的每个元素执行传进提供的函数,没有返回值,直接改变原数组,注意和map方法区分。

let arr = [1, 2, 3, 4, 5]
arr.forEach(x => x*2)
 // arr = [2, 4, 6, 8, 10]  数组改变,注意和map区分

some

Array.some()方法是将所有元素进行判断返回一个布尔值,如果存在元素都满足判断条件,则返回true,若所有元素都不满足判断条件,则返回false:

let arr = [1, 2, 3, 4, 5]
arr.every(item=>value < 4) //true
arr.every((item=>value < 1) //false

every

Array.every()方法是将所有元素进行判断返回一个布尔值,如果所有元素都满足判断条件,则返回true,否则为false

let arr = [1, 2, 3, 4, 5]
arr.every(item=>value < 4) //false
arr.every((item=>value < 6) //true

findIndex

findIndex() 不改变原始数组,找到符合条件的数组第一个元素位置
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数
如果没有符合条件的元素返回 -1

var aa = [1, 2, 4, 4, 5];
var bb = aa.findIndex(item => {
  return item > 3
});
console.log(bb); // 2

find

find()不改变原始数组,找到符合条件的数组的第一个元素的值
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数
如果没有符合条件的元素返回 undefined

var aa = [1, 2, 4, 4, 5];
var bb = aa.find(item => {
  return item > 3
});
console.log(bb); // 4

slice

slice() 不会改变原始数组,从已有的数组中返回选定的元素,截取组成新字符串(数组截取)

var aa = [1, 2, 3, 4, 4, 5, 6, 6];
var bb = aa.slice(2,4)
console.log(bb); // [3, 4]

splice

8.splice() 改变原始数组,用于添加或删除数组中的元素(数组更新)
第一个元素是从何处添加/删除元素,第二个元素是删除多少元素,第三个元素(不必填)是要添加到数组的新元素

var aa = [1, 2, 3, 4, 4, 5, 6, 6];
aa.splice(3,4,2)   // 从第3位开始删除4个元素,并把2添加进删除的位置
console.log(aa); //[1, 2, 3, 2, 6]

join()

join()不改变原数组,数组转字符串

var bb = aa.join()
console.log(bb); // 1,2,3,4,4,5,6,6

split

split()不改变原字符串,字符串变数组

var aa = '1,2,3,4,4,5,6,6';
var bb = aa.split(',')
console.log(bb); // ["1", "2", "3", "4", "4", "5", "6", "6"]

keys()、values()、entries()

  1. 遍历数组方法 keys()、values()、entries()
    keys()是对键名的遍历
let aa = ["a", "b", "c", "d"];
for (let index of aa.keys()) {
  console.log(index);
}
values()对键值的遍历
let bb = ["a", "b", "c", "d"];
for (let item of bb.values()) {
  console.log(item);
}
entries()是对键值对的遍历
let arr = ["a", "b", "c", "d"];
for (let i of arr.entries()) {
  console.log(i);
}
for (let [index, item] of arr.entries()) {
  console.log(index + ":" + item);
}

你可能感兴趣的:(JS数组的常用方法)