nodelist伪数组转数组,让其拥有数组方法

扩展运算符 ...

let arr = document.querySelectorAll('ul li');
// 当获取dom元素list的时候,所得到的是伪数组,不具备数组方法,怎么去转化成数组呢
// es5之前的写法是利用循环或者slice.call来转化
let newArr = [].slice.call(arr);
//demo1 es6的扩展运算符写法
let newArr = [...arr]; // 此时arr就转化成newArr,变成数组。

Array.from()

作用:把伪数组转化成数组(arguments,或dom元素集合)

let arr = document.querySelectorAll('ul li');
let newArr = Array.from(arr); // 伪数组转化成数组
// string也可以转化成ARRAY,es5之前string变成数组是要用到split切割。
let name = 'hahaha';
let nameArr = name.split(''); //arr
//es6 Array.from写法
let newNameArr = Array.from(name); //arr

个人猜测,只要存在length,就可以使用Array.from()让其转化成数组

let json1 = {0:'a',1:'b',2:'c',3:'d'
}
let arr = Array.from(json1); // [] 得到的空数组,因为没有length
let json2 = {0:'a',1:'b',2:'c',3:'d',length:4
}
let arr = Array.from(json2); // ['a','b','c','d']

Array.of(): 把一组值转化成数组

let arr = Array.of('a','b','c');
console.log(arr); // ['a','b','c']

Array.find(): 找到第一个符合条件的元素,并返回

let arr3 = [1,2,3,45,5,6,7];
let newArr3 = arr3.find((val, index, arr) => { // 类似循环 val当前值 index 当前下标 arr当前整个数组return val>6;
})
console.log(newArr3); // 45,是第一个符合条件的 元素,所以返回
// 如果没找到符合条件的元素,返回undefined

Array.findIndex(): 返回的是符合条件元素的下标位置,和find一样的使用方法,如果没找到符合的元素返回-1.找到则返回符合元素的对应下标。

Array.fill(填充元素,开始位置,结束位置) 填充数组

let arr5 = new Array(10);
arr5.fill('默认值',1,4);
console.log(arr5);

ES2016新增

Array.includes() // 类似于Array.indexOf() 区别在于,includes返回true false ,indexOf返回下标或-1

let arr6  = [1,2,3,4];
let newArr6 = arr6. includes(2);
console.log(newArr6);

伪数组转化真数组_ES6 数组方法相关推荐

  1. 一维数组转化为二维数组(java)

    由于经常在使用矩阵进行计算时,会首先将一维数组转为二维数组.因此,在这里记录一下,也希望对他人有帮助. package deal; /** author:合肥工业大学 管院学院 钱洋 *1563178 ...

  2. oracle 一维数转二维数组,js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

  3. c语言一维数组转化为二维矩阵,js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

  4. Python 三维数组转化为二维数组 和MATLAB的reshape函数结果一致

    最近在把Matlab的toolbox转到Python语言,涉及到了很多矩阵运算,经常会用到Matlab中的reshape函数,但是Python和它reshape的结果总不一致,导致我最后Python画 ...

  5. 一维数组转化为二维数组

    #include <stdio.h> int main() { int i,j,k=0,arr[5]={0,1,2,3},arr2[2][2]={0};for(i=0;i<2;i++ ...

  6. JS一维数组转化为三维数组有这个方法就够了

    今天在CSDN上问答区看到一个提问的小伙伴,是想要将一维数组转化为三位数组的需求,正好不是很忙,乐于助人的我立马给这位同学安排上 下面是后端同学返给我们的一维数组数据格式 [{'品牌': 'xiaom ...

  7. C# 将结构体转化为byte数组,byte数组转化为结构体

     1.将结构体转化为byte数组 #region /// <summary>/// 结构体转为byte数组/// </summary>/// <typeparam nam ...

  8. 【JavaScript—数组】详解js数组一篇文章吃透js-数组

    目录 前言 数组 1.遍历数组 1.遍历 2.数组长度arr. length动态监测数组元素的个数 3.求数组的和以及平均数 4.求数组中的最大值 5.最小值同理 2.如何将数组转化为字符串 3.数组 ...

  9. 什么是伪数组 以及伪数组转真数组的方法

    什么是伪数组呢? 1.我们先来看看用于接受实参的方法 arguments , 执行代码如下: function fn() { console.log(arguments);}fn(1,2,3,4,5) ...

最新文章

  1. 解决window2012 IIS8 配置的网站无法下载exe文件的问题
  2. 过滤器匹配符包含单词_Hamcrest包含匹配器
  3. python math.asin
  4. Angular最新教程-第六节编写响应式导航栏
  5. INF文件修改注册表
  6. java - 抽象类、接口、内部类
  7. git在远程关联和push时出现问题
  8. java可选参数_Java可选
  9. PSPNet: Pyramid Scene Parsing Network
  10. postgres常用SQL
  11. Ubuntu+OpenCV学习汉字点阵,图片打印汉字
  12. 【DaVinci Developer专题】-32-Mode(Switch) Declaration Group中Alphabetic和Explicit的区别
  13. 使用node实现简单的增删改查功能的小demo
  14. ExecuteSQL
  15. python 绝对值最小值的 正数_找出有序数组中绝对值最小的数
  16. 条款30:透彻了解inlining的里里外外
  17. Zrlog开源博客网站 安装教程
  18. html 前端优化上传视频,前端上传组件Plupload使用---上传大视频(分片上传)
  19. 最新PHP编写的的技术导航源码 有后台
  20. Android8.0 蓝牙低功耗扫描锁屏停止问题

热门文章

  1. Flex与.NET互操作(十三):FluorineFx.Net实现视频录制与视频回放
  2. [导入]创建DataTable对象
  3. JNI开发笔记(三)--JNI工程的框架分析
  4. 求单链表结点的阶乘和
  5. 知识付费网站php源码,原创在线教育知识付费类源码只要50元
  6. java异常处理机制--常见异常汇总
  7. iText简介(转)
  8. Wait Event Disk file operations I/O
  9. Yii2 认证实现原理和示例
  10. linux 简单命令