js 数组方法总结

248 阅读2分钟

1 Array.contact()

当你想合并两个或多个数组时使用contact()方法

    如果你有两个数组,一个包含男性姓名,另一个包含女性姓名,可以使用contact合并它们。
    const manName = ["Tom","Peter","Jacky"];
    const womenName = ["Mary","jane","Lily"];
    
    const allName = manName.contact(womenName);
    console.log(allName); // ["Mary","jane","Lily","Tom","Peter","Jacky"];

2 Array.some()

some方法可以用来检测数组中是否至少有一个元素与特定条件匹配。它与include方法不同,它需要条件或测试功能,但不需要值,如果条件满足则返回真,否则返回假

当你要检查是否至少有一个数字是2时,使用此方法
const Number = [1,2,3,4,5];
const isHasNumber Number.some(item=>{
  item.indexOf(2) !== -1
})
console.log(isHasNumber) //true

Array.indexOf()

这是另一种在数组中搜索内容的方法,但这次它返回索引。如果在数组中没有找到该元素,则返回-1

如果你想检查某个姓名是否在数组中
const NameArr = ["Mary","jane","Lily"];
console.log(NameArr.indexOf("jane"); // -1

Array.find()

使用find()方法,我们可以在数组中搜索某些内容。它接受一个测试函数,并返回提供的数组中与条件匹配的第一个元素,换句话说,它不会返回所有满足测试的元素

const NameArr = ["Mary","jane","Lily"];
const result = NameArr.find(item=>{
   item.length === '4'
})
console.log(result) // Mary

Array.includes()

includes()方法通过取值来确定数组是否包含某些元素。它会返回一个布尔值

如果你想知道Mary是否在数组中
const NameArr = ["Mary","jane","Lily"];
const result = NameArr.includes("Mary");
console.log(result) //true;

Array.filter

当你需要过滤掉值时,会使用filter()方法。只需要将测试函数作为回调传递,它将返回一个等于true的值以保留元素

你从用列表中删除特定元素,例如Mary,在回调中你需要保留不等于Mary的值
const NameArr = ["Mary","jane","Lily"];
const result = NameArr.filter(item=>{
     return item !== "Mary"
})
console.log(result) //["jane","Lily"];

Array.map

通过调用回调函数,map()方法循环遍历原始数组并在数组的每个元素上调用该函数,由于它是一种非变异方法,因此它会创建一个新数组并且不会更改原始数组。简而言之,当你想要转换数组中的所有值时使用它

const NameArr = ["Mary","jane","Lily"];
const result = NameArr.map(item=>{
     return item + "Smith"
})
console.log(result) //["Mary Smith","jane Smith","Lily Smith"];

Array.forEach

跟map方法很相似,它也对每个元素执行一次函数,除了它在原地改变原始数组,它不会创建新数组