1.Array.from(): 将伪数组对象和遍历的对象转为真数组

  如果一个对象的键都是正整数或者0,并且有 Length属性,那么这个对象很想数组,称它为伪数组。

  伪数组:

  let obj = {
0: 0,
1: '1',
2: '2',
'length': 3
}
obj.length = 3;
let arr = Array.from(obj) // 将伪数组转换为数组
console.log(arr) // [0,1,2]

  (1)对象中没有length属性的话, Array.from() 返回一个 []

  (2)如果对象中的剪不是正整数的或0 的时候,不是正整数对象的 元素为 undefined.

2.Array.of(): 将一系列值转换为数组。

  let arr2 = Array.of('1', 'shuz', '狗蛋');
console.log(arr2); // ["1", "shuz", "狗蛋"]

3.find() 和 findIndex()

  (1)数组实例的find()  方法用于找出第一个符合条件的数组成员。他的参数是一个回调函数,所有的函数依次执行该回调函数,直到找到第一返回值为 true的成员,然后返回该成员,如果没有符合条件的成员返回undefined。

  示例:

  // Array.find()
let findVal = [10, 20, 39, 3, 12, 5].find( (n, index, arr) => {
return n < 10;
})
console.log(findVal); //

  数组实例的 findIndex()和find() 很相似。findIndex() 方法返回的第一个符合条件的数组成员的位置,如果所有成员都符合条件,则返回 -1;

[1, 5, 10, 15].findIndex(function(value, index, arr) {
return value > 9;
}) //

4.数组实例的includes()

方法返回一个布尔值,表示某个数组是否包含给定的值。该方法的第二个参数表示搜索的起始位置,默认为0。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为-4,但数组长度为3),则会重置为从0开始。

[1, 2, 3].includes(2)   // true
[1, 2, 3].includes(3, -1); // true
[1, 2, 3, 5, 1].includes(1, 2); // true

5.数组实例的 entries(),keys() 和 values()

ES6 提供entries(),keys()和values(),用于遍历数组。它们都返回一个遍历器对象,可以用for...of循环进行遍历,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。

    // Array.keys()
let arr5 = [1,2,'123','12312qweqwe']
console.log('keys', arr5.keys()) // Array Iterator {}
for(let index of arr5.keys()) {
console.log(index) // 0,1,2,3
}
// Array.values()
for(let value of arr5.values()) {
console.log(value) // 1,2,'123','12312qweqwe'
}
// Array.entries()
for(let [index, value] of arr5.entries()) {
console.log(index, value);
// 0 1
// 1 2
// 2 "123"
// 3 "12312qweqwe"
}

最新文章

  1. js的click事件传递参数方法
  2. poj 1236 Network of Schools(连通图)
  3. Unity3D判断鼠标向右或向左滑动,响应不同的事件
  4. Powershell导入订阅号(以Azure中国版为例)
  5. ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问
  6. MongoDB的timezone问题
  7. 老了,问题定位难了,xml编码解析
  8. 如何解决 Django中出现的 [Errno 13] Permission denied问题
  9. Adobe Flash CC 2014 下载及破解
  10. android 判断横竖屏的方法(转)
  11. laravel CSRF 保护
  12. JS实现抽奖(方形)
  13. 转--HC05-两个蓝牙模块间的通信
  14. 关于Asp.Net中的编程实现下载
  15. 漫画描述HDFS工作原理
  16. Python 文件类型
  17. nuxt.js踩坑之 - SSR 与 CSR 显示不一致问题
  18. Django template for 循环用法
  19. CodeForces 811C Vladik and Memorable Trip
  20. requests对象

热门文章

  1. Object.keys()、Object.values()、Object.entries()的用法
  2. c代码审查软件
  3. layuiadmin(iframe)常用问题集锦
  4. git---分支的合并
  5. MySQL数据库双机热备------主-主备份配置
  6. python设置socket的超时时间(可能使用locust压测千级并发的时候要用到,先记录在此)
  7. C#中Invoke的用法(转)
  8. 细聊Oracle通过ODBC数据源连接SQL Server数据库
  9. .Net MVC 下载网站的文件
  10. docker外部执行容器内部命令