美文网首页
数组遍历

数组遍历

作者: zlqinying | 来源:发表于2021-04-16 08:24 被阅读0次

    1、arr.forEach 方法允许为数组的每个元素都运行一个函数。forEach,for 或 for..of。

    arr.forEach(function(item,index,array) { // ... do something with item});

    2、find 和 findIndex

    let result = arr.find(function(item,index,array) { 

     // 如果返回 true,则返回 item 并停止迭代 

     // 对于假值(falsy)的情况,则返回 undefined

    });

    如果它返回 true,则搜索停止,并返回 item。如果没有搜索到,则返回 undefined

    arr.findIndex 方法(与 arr.find 方法)基本上是一样的,但它返回找到元素的索引,而不是元素本身。并且在未找到任何内容时返回 -1。

    let users = [ {id: 1, name: "John"}, {id: 2, name: "Pete"}, {id: 3, name: "Mary"}];

    let user = users.find(item => item.id == 1);

    alert(user.name); // John

    3、filter 返回所有匹配元素组成的数组

    let results = arr.filter(function(item,index,array) { 

     // 如果 true item 被 push 到 results,迭代继续 

     // 如果什么都没找到,则返回空数组

    });

    let users = [ {id: 1, name: "John"}, {id: 2, name: "Pete"}, {id: 3, name: "Mary"}];

    // 返回前两个用户的数组

    let someUsers = users.filter(item =>item.id < 3);

    console.log(someUsers) // [{id: 1, name: "John"},{id: 2, name: "Pete"}]

    4、arr.map 它对数组的每个元素都调用函数,并返回结果数组。let result = arr.map(function(item,index,array) { // 返回新值而不是当前元素})

    let arr = [1,2,3]

    let newarr = arr.map(item =>item*2)

    console.log(newarr) // [2,4,6]

    5、arr.some(fn)/arr.every(fn) 

    任何/所有结果为 true,则返回 true,否则返回 false。

    这两个方法的行为类似于 || 和 && 运算符:如果 fn 返回一个真值,arr.some() 立即返回 true 并停止迭代其余数组项;如果 fn 返回一个假值,arr.every() 立即返回 false 并停止对其余数组项的迭代。

    相关文章

      网友评论

          本文标题:数组遍历

          本文链接:https://www.haomeiwen.com/subject/rtoklltx.html