美文网首页
数组其他问题

数组其他问题

作者: 岚平果 | 来源:发表于2021-02-26 09:18 被阅读0次

1. 数组里面有10万个数据,取第一个元素和第10万个元素的时间相差多少

答:数组可以直接根据索引取的对应的元素,所以不管取哪个位置的元素的时间消耗时间几乎一致,
差异可以忽略不计

2. for…in 与 for…of 的区别

1. 都可以遍历数组,for in 返回数组的下标(key);for of 返回数组的元素;
  const arr1 = ['a', 'b', 'c'];
  for (let i in arr1) {
    console.log(i)  // 0, 1, 2
  }
      
  const arr2 = ['a', 'b', 'c'];
  for (let i of arr2) {
    console.log(i) // a, b, c
  }
………………………………………………………………………………………………………………………………………………………………………………………………………………
2.  遍历对象  for in 遍历获取对象 key 值;  for of 报错;
    const json = {"a": 1, "b": 2, "c": 3};
    for (let i in json) {
      console.log(i) // a, b, c
    }
    for (let i of json) {
      console.log(i)     // 数据格式错误
    }

3. 给数组手动添加属性,   for in 循环可以遍历出 name 这个添加属性的键名
    const arr3 = ['a', 'b'];
    arr3.name = 'c';
    for (let i in arr3) {
        console.log(i) // 0, 1, name
    }

4. for in 的特点:
    a. for … in 循环返回的值都是数据结构的 键值名。
    b. 遍历对象返回的对象的key值;
    c. 遍历数组返回的数组的下标(key)。
    d. for … in 循环不仅可以遍历数字键名,还会遍历原型上的key值和手动添加的其他键;
    e. 特别情况下, for … in 循环会以任意的顺序遍历键名
    f. 总结一句: for in 循环特别适合遍历对象。

5. for of 特点:
    a. for of 循环用来获取一对键值对中的值,而 for in 获取的是 键名 
    b. 一个数据结构只要部署了 Symbol.iterator 属性, 就被视为具有 iterator 接口, 
    就可以使用 for of循环。
    例 3 这个对象,没有 Symbol.iterator这个属性,所以使用 for of会报json is not iterable
c. for of 不同与 forEach, 它可以与 break、continue 和 return 配合使用,
    也就是说 for of 循环可以随时退出循环。

6. 我也想让对象可以使用 for of 循环怎么办? 使用 Object.keys() 获取对象的 key 值集合后,
   再使用 for of
   const obj = {a: 'x', b: 'y'};
   for (let i of Object.keys(obj)) {
      console.log(i)   // a, b
    }

相关文章

  • 数组其他问题

    1. 数组里面有10万个数据,取第一个元素和第10万个元素的时间相差多少 2. for…in 与 for…of 的区别

  • Leetcode-#27移除元素(数组)

    问题描述 给定一个数组和一个值,在这个数组中原地移除指定值和返回移除后新的数组长度。 不要为其他数组分配额外空间,...

  • 【初级】移除元素

    问题:给定一个数组和一个值,在这个数组中原地移除指定值和返回移除后新的数组长度。不要为其他数组分配额外空间,你必须...

  • JULIA-如何开辟动态数组

    很多时候,我们在声明数组时不知道数组长度。这对其他语言不是难事,但对julia,有特殊函数push!()解决此问题...

  • PHP数组使用

    数组定义 数组增、删、改 数组查询 数组排序 数组合并、分割 数组比较、去重复 数组长度 数组遍历 数组转换 其他...

  • 数组Array学习笔记

    “虽然ECMAScript数组与其他语言中的数组都是数据的有序列表,但与其他语言不同的是,ECMAScript数组...

  • js创建数组的方式及需要注意的点

    ECMAScript 数组与其他语言中的数组都是数据的有序列表,但与其他语言不同的是,ECMAScript 数组的...

  • 其他问题

    1、《五大关键数字力》和《用生活就能读懂财务报表》的区别在哪里? 2、《用生活常识就能看懂财务报表》存在的一处错误...

  • python测试开发18-将所有的零移动到左边(facebook

    问题陈述 给定整数列表,将所有0的元素向左移动,同时保持数组中其他元素的顺序不变。必须对数组进行原地修改。 原列表...

  • python - 学习笔记

    其他变量值交换展开变量条件判断字符串嵌变量数组循环数组查重数组排序数组内包错误处理 和 with 其他 变量值交换...

网友评论

      本文标题:数组其他问题

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