ES6-11学习笔记--数组的扩展
let divs = document.getElementsByTagName('div');
console.log(divs); // HTMLCollection
let divs2 = document.getElementsByClassName('abc');
console.log(divs2); // HTMLCollection
let divs3 = document.querySelectorAll('.xxx');
console.log(divs3); // NodeList
// 我们使用instanceof 验证这些是伪数组
console.log(divs instanceof Array); // false
console.log(divs2 instanceof Array); // false
console.log(divs3 instanceof Array); // false
HTMLCollection、NodeList等类型都是伪数组。
let arr = Array.prototype.slice.call(divs)
console.log(arr);
function foo() {
console.log(arguments);
}
foo(1, 2, 3)
let arrayLike = {
0: 'lala',
1: 'haha',
2: 'hehe',
length: 3
}
使用ES6方式将伪数组转换成数组:from
let arr1 = Array.from(arrayLike)
arr1.push('lolo')
console.log(arr1);
let a1 = new Array(1, 2)
let a2 = new Array(3)
console.log(a1); // [1,2]
console.log(a2); // 长度为3的空数组
let a3 = Array.of(1, 2)
let a4 = Array.of(3)
console.log(a3); // [1,2]
console.log(a4); // [3]
let c1 = [1, 2, 3, 4, 5, 6]
console.log(c1.copyWithin(1, 3));
// 根据参数定义,将索引3的位置到末位的元素,替换从索引1开始的位置。
let f1 = new Array(3).fill('abc')
console.log(f1);
let f2 = [1, 2, 3, 4, 5]
f2.fill('abc', 1, 3)
console.log(f2); // [1, "abc", "abc", 4, 5]
f2.fill('n')
console.log(f2); // ["n", "n", "n", "n", "n"]
let i1 = [1, 2, 3, NaN]
console.log(i1.indexOf(NaN)); // -1
造成上面的原因是因为NaN不等于NaN
console.log(i1.includes(2)); // true
console.log(i1.includes(NaN)); // true
console.log(i1.includes(6)); // false
ES6-11学习笔记--数组的扩展的更多相关文章
- js-ES6学习笔记-数组的扩展
1.Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map). 实际应用中 ...
- C++11 学习笔记 std::function和bind绑定器
C++11 学习笔记 std::function和bind绑定器 一.std::function C++中的可调用对象虽然具有比较统一操作形式(除了类成员指针之外,都是后面加括号进行调用),但定义方法 ...
- JavaScript:学习笔记(8)——对象扩展运算符
JavaScript:学习笔记(8)——扩展运算符 对象的扩展运算符 扩展运算符是三个点(...).用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中. 如上图所示,新建了一个对象a,然后通过扩 ...
- Java菜鸟学习笔记--数组篇(三):二维数组
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...
- ES6学习笔记(二)——字符串扩展
相信很多人也和我一样,不喜欢这样循规蹈矩的逐条去学习语法,很枯燥乏味.主要是这样学完一遍之后,没过一段时间就忘到九霄云外了.不如实际用到的时候研究它记得牢靠,所以我就整理成笔记,加深记忆的同时便于复习 ...
- ES6 学习6 数组的扩展
本章学习要点: 扩展运算符 Array.from() Array.of() 数组实例的 copyWithin() 数组实例的 find() 和 findIndex() 数组实例的 fill() 数组实 ...
- JavaScript(ES6)学习笔记-Set和Map与数组和对象的比较(二)
一.Map,Set,Array对比: 1.增 let map = new Map(); let set = new Set(); let array = []; map.set('t',1); //M ...
- js-ES6学习笔记-函数的扩展
1.ES6函数参数的默认值,直接写在参数定义的后面.参数变量是默认声明的,所以不能用let或const再次声明. function Point(x = 0, y = 0) { this.x = x; ...
- ES6(阮一峰) 数组的扩展
1.扩展运算符 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(1, ...[2, 3, 4], 5) // ...
随机推荐
- Json字符串和Json对象相互转换
字符串-->json对象:JSON.parse() var str = '{"code":"A001","name":"张三 ...
- Linux安装Mysql8.0及SQL分类的补充
Linux安装Mysql8.0 参考文章:https://blog.csdn.net/qq_38570633/article/details/109257430 参考文献:https://blog.c ...
- webug 4.0 打靶笔记-01
webug 4.0 打靶笔记 1. 显错注入 1.1 访问靶场 1.2 判断注入点 查找一切有参数传入的地方进行测试,注意到有get传参?id=1 猜测后台php中sql语句模板可能为如下几种情况 $ ...
- CSS学习Day01
1.什么是CSS 如何学习 CSS是什么 CSS怎么用 CSS选择器(重点+难点) 美化网页(文字.阴影.超链接.列表.渐变) 盒子模型 浮动 定位 网页动画(特效效果) 1.1什么是CSS Casc ...
- SoftwareTeacher直播自我感想
今天老师发布了一个链接直播是关于:同学们聊聊学习软件工程,CS 课程的问题下面是我的个人感悟和笔记 一.编程技术的提升 编程并不是一件很难的事情,就如开车一样,只有多加练习,自己的技术才能提升上去.拿 ...
- 【一】工程配置与电机控制part1
前言 学校发的无刷电机: 我们准备的有刷电机: 带霍尔编码器! 电机参数: 名称:驰名电机(直流减速电机) 型号:JGA25-370 电压:12V 转数:1360r/min 做云台,核心是使用PID控 ...
- 女朋友问我深浅copy到底是什么?
深浅拷贝 列表存放值的时候,是先申请一块内存空间,存放索引和内存地址的对应关系,其实通俗的来说列表内不存真正的值,是一种间接存放的对应关系: 列表内存不可变类型的数据 就比如说,如果现在将L列表索引0 ...
- Eclipse阿里云镜像源配置
镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 一.什么是Eclipse Eclipse 是一个开放源代码的.基于 Java 的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过 ...
- Linux下编译安装mysql数据库服务
以下是用putty工具远程登录到服务器,在命令行下面操作: Cmake工具下载地址:http://ftp.lfs-matrix.net/pub/blfs/conglomeration/cmake/ M ...
- HTTP 之 Content-Type
Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式.什么编码读取这个文件,这就是经常看到一些Asp网页点击 ...