美文网首页
数组迭代方法汇总

数组迭代方法汇总

作者: vivianXIa | 来源:发表于2021-02-03 14:41 被阅读0次

之前就像总结的 但是看了一些资料 觉得内容很多就没有来整理,觉得脑子过一遍差不多。结果没记住 sad
查看数组的哪些方法可以直接console.dir(Array.prototype)

数组的迭代方法

let arr = [1,2,3,4,5,6]

  • Array.forEach() 值:一般用于遍历
 //不能 return 
arr.forEach((v,i,a)=>{
})
  • Array.map() 值:返回处理过的数组
    不会更改原来的函数,return 会返回新的数组
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);

function myFunction(value) {
  return value * 2;
}
  • Array.filter() 值:返回满足条件的数组
    方法创建一个包含通过测试的数组元素的新数组。
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}
  • Array.every 值返回true或者false
    检查所有的数组值是否通过测试,
var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}
  • Array.some 值:返回true false 有一个满足就会返回true
    检查数组值是否通过了测试
var numbers = [45, 4, 9, 16, 25];
var someOver18 = numbers.some(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}
  • Array.find()
    方法返回通过测试函数的第一个数组元素的值。
var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}
  • Array.findIndex():
    传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它的下标,终止搜索
const arr = [1, "2", 3, 3, "2"]
console.log(arr.findIndex(n => typeof n === "number")) // 0
  • Array.indexOf()
    indexOf() 方法在数组中搜索元素值并返回其位置。
    从0位置开始 从0开始计数
var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
  • Array.lastIndexOf()
var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");
  • Array.reduce()
    应用:
    去重
let arr = [1, 2, 2, 4, null, null].reduce((accumulator, current) => {
    return accumulator.includes(current) ? accumulator : accumulator.concat(current);
}, []);

数组扁平化
数组求和
计算出现的次数

  let names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];

      let nameNum = names.reduce((pre,cur)=>{
        if(cur in pre){
          pre[cur]++
        }else{
          pre[cur] = 1 
        }
        return pre
      },{})
      console.log(nameNum); //{Alice: 2, Bob: 1, Tiff: 1, Bruce: 1}
  • Array.reduceRight()
    相同:
    和其它函数不同之处在于第一个值是上一次便利的值

不同:
和reduce:从左向右边,reduceRight:从右边向左边

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);

function myFunction(total, value, index, array) {
  return total + value;
}
  • for.....in
let names = ['Tom','Jerry']
for(let i in names){
console.log(arr[i]);
}
  • values() 返回键值对的键
//数组
const arr = ['a', 'b', 'c'];
for(let v of arr.values()) {
  console.log(v)
}
//'a' 'b' 'c'

//Set
const arr = new Set(['a', 'b', 'c']);
for(let v of arr.values()) {
  console.log(v)
}
// 'a' 'b' 'c'

//Map
const arr = new Map();
arr.set('a', 'a');
arr.set('b', 'b');
for(let v of arr.values()) {
  console.log(v)
}
// 'a' 'b'

keys 返回键值对的 键值

//数组
const arr = ['a', 'b', 'c'];
for(let v of arr.keys()) {
  console.log(v)
}
// 0 1 2

//Set
const arr = new Set(['a', 'b', 'c']);
for(let v of arr.keys()) {
  console.log(v)
}
// 'a' 'b' 'c'

//Map
const arr = new Map();
arr.set('a', 'a');
arr.set('b', 'b');
for(let v of arr.keys()) {
  console.log(v)
}
// 'a' 'b'
  • includes
    判断数组中是否存在该元素,参数:查找的值、起始位置,可以替换 ES5 时代的 indexOf 判断方式。indexOf 判断元素是否为 NaN,会判断错误。
var a = [1, 2, 3];
a.includes(2); // true
a.includes(4); // false

相关文章

  • (八)数组方法

    数组方法汇总 数组拼接为字符串 模拟栈和队列 排序 数组操作 查找item在数组中的位置 迭代方法 归并方法

  • 数组迭代方法汇总

    之前就像总结的 但是看了一些资料 觉得内容很多就没有来整理,觉得脑子过一遍差不多。结果没记住 sad 数组的迭代方...

  • js高级程序设计笔记9

    数组方法 数组迭代方法 every() filter() forEach() map() some() 数组归并方法

  • js 数组迭代和元素增删改查

    一、数组的迭代方法 常用的数组迭代方法:every,some,filter,map,foreach 1.every...

  • Javascript 数组迭代与归并方法

    一,数组迭代方法 数组迭代方法分别接受三个参数:数组项的值(item),该项在数组中的位置(index),和数组本...

  • js数组方法汇总

    需求: js数组(Array)方法汇总 索引: 对数组方法的学习和汇总,分为三大类: 一,改变原数组的方法(10种...

  • 数组(Array)<迭代器>

    一、Js数组迭代器方法 主要介绍js数组中的forEach,every,some,filter,map迭代器方法 ...

  • js关于数组的方法汇总

    js关于数组的方法汇总

  • 数组方法

    构建数组 检测数组 栈方法 队列方法 重排序方法 操作方法 位置方法 迭代方法 递归方法

  • JS基础篇-Array

    一、迭代方法 ES5为数组定义了5个迭代方法,这些方法大大方便了处理数组的任务: 1、every 对数组每一项进行...

网友评论

      本文标题:数组迭代方法汇总

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