美文网首页
2. Array遍历&&转化&&生成&&查找

2. Array遍历&&转化&&生成&&查找

作者: yaoyao妖妖 | 来源:发表于2020-08-17 13:48 被阅读0次

循环

ES5 循环方法

  1. for 循环
const arr = [1, 2, 3, 4, 5]
for (let i = 0; i < arr.length; i++) {
  if (arr[i] === 2) {
    continue
  }
  // console.log(arr[i])
}
  1. forEach 不支持 break continue
arr.forEach(function (item) {
  if (item === 2) {
    // continue
  }
  // console.log(item)
})
  1. every 使用 return 控制循环是否继续
arr.every(function (item) {
  if (item === 2) {

  } else {
    // console.log(item)
  }
  return true
})
  1. for in 适用于 object,不适合数组,因为他会将数据的属性也遍历出来
// arr.a = 8
for (let index in arr) {
  if (index * 1 === 2) {
    continue
  }
  // console.log(index, arr[index])
}

ES6 循环方法

  1. for of 适用于自定义结构的数据类型的遍历
for (let item of arr) {
  // console.log(item)
}

const Price = {
  A: [1.5, 2.3, 4.5],
  B: [3, 4, 5],
  C: [0.5, 0.8, 1.2]
}

for (let key in Price) {
  // console.log(key, Price[key])
}

转换 第二小节

ES5

let args = [].slice.call(arguments) // collection 函数参数
let imgs = [].slice.call(document.querySelectorAll('img')) // NodeList
console.log(args)

ES6

// Array.prototype.from
let args = Array.from(arguments)
let imgs = Array.from(document.querySelectorAll('img'))
imgs.forEach()
// 语法
Array.from(arrayLike,mapFn,thisArg)
let array = Array(5)
for (let i = 0, len = array.length; i < len; i++) {
   array[i] = 1
}
console.log(array)
let array = Array.from({ length: 5 }, function () { return 1 })
console.log(array)
// {0:'a',1:'b',length:2}

生成新数组 第三小节

ES5

let array = Array(5)
let array = [1,2,3,4,5]

ES6

// Array.prototype.of
let array = Array.of(1,2,3,4,5)
console.log(array)
// 填充&&替换数组
// Array.prototype.fill
let array = Array(5).fill(7)
console.log(array)
Array.fill(value,start,end)
let array = [1, 2, 3, 4, 5]
console.log(array.fill(8, 2, 4))

ES5 查找 返回数组,满足条件的所有值

let find = array.filter(function (item) {
   return item % 2 === 0
 })
console.log(find)

// ES6 查找 返回找到的值,只返回第一个符合条件的值,关注有还是没有

// Array.prototype.find 返回值
let find = array.find(function (item) {
   return item % 2 === 0
})
// Array.prototype.findIndex 返回位置
let find = array.findIndex(function (item) {
  return item % 2 === 0
})
console.log(find)

学习视频记录

相关文章

  • 2. Array遍历&&转化&&生成&&查找

    循环 ES5 循环方法 for 循环 forEach 不支持 break continue every 使用 r...

  • ES6学习——数组的扩展

    总结 1. Array.from() : 将类数组对象和可遍历对象转化为真正的数组 2. Array.of() :...

  • 常见算法前端JS实现

    字符串操作 判断回文字符串 翻转字符串 思路1:反向遍历字符串 思路2:转化成array操作 生成指定长度的随机字...

  • 2019-10-17 Array.from

    Array.from 将可遍历的数据类型 或者 类数组的对象 转化为数组;

  • ES6(三)—— 数组

    目录 数据的重要功能【遍历、转换、生成、查找】 数组遍历ES5中遍历有多少种方法?for循环forEachever...

  • Array

    Array.from() Array.from()用来将类似数组的对象,和可遍历的对象,转化成真正的数组。 接受第...

  • 数组的扩展

    1、Array.from()用于将两类对象转为真正的数组: 类数组(array-like)对象与可遍历的对象转化为...

  • Java快速排序

    线性查找 1.定义: 线性查找是按照序列原有顺序对数组进行遍历比较查询的基本查找算法 2.原理: 通过遍历数组来寻...

  • Array[] 与 List<String> 之间的

    List 相对与 Array 的优势在遍历的时候更加安全 字符窜转化为 ListArrays.asList(str...

  • 数据结构必备代码

    目录: 排序算法 树的遍历 查找 链表插入 数组与列表转化 二维数组排序 java中输入 集合遍历 一、基本排序1...

网友评论

      本文标题:2. Array遍历&&转化&&生成&&查找

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