当前位置:网站首页>js中entries(),keys(),values() , some(), Object.assign()遍历数组用法
js中entries(),keys(),values() , some(), Object.assign()遍历数组用法
2022-04-23 05:56:00 【Eli-sun】
js中entries(),keys(),values() , some(), Object.assign()遍历数组用法
ES6提供了entries(),keys(),values()方法返回数组的遍历器,对于遍历器(Iterator)可以使用for…of进行便利,也可是使用entries()返回的遍历器Iterator.next()方法进行遍历。
1.使用keys()遍历。
keys()返回的是数组元素索引号的遍历器。
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']
for (let index of arr1.keys()) {
console.log(index);
}
结果:
可以看到输出的都是每个数组元素的index。
0
1
2
3
4
5
6
7
8
9
10
2.使用values()遍历。
values()返回的是数组元素值的遍历器。
for (let val of arr1.values()) {
console.log(val);
}
结果:
a
b
c
d
e
f
g
h
i
j
k
3.使用entries()遍历。
配合解构使用,可以拿到元素的index和value。
for (let [index, val] of arr1.entries()) {
console.log(index, val);
}
结果:
0 'a'
1 'b'
2 'c'
3 'd'
4 'e'
5 'f'
6 'g'
7 'h'
8 'i'
9 'j'
10 'k'
4.使用Iterator.next()遍历。
基于entries()返回的遍历器,调用遍历器的next()的方法可以获取每一个元素的访问入口,该入口有一个done属性可以表明是否便利结束。通过入口可以拿到value属性,其就是元素的索引和值的数组。
let arrEntries=arr1.entries();
let entry=arrEntries.next();
while(!entry.done){
console.log(entry.value);
entry=arrEntries.next();
}
5.some方法
用于检测数组中的元素是否满足指定条件(函数提供)。会依次执行数组的每个元素:如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
array.some(function(currentValue,index,arr),thisValue)
参数说明:
参数1:function(currentValue, index,arr)
必须。函数,数组中的每个元素都会执行这个函数。
函数参数:
(1)currentValue必须。当前元素的值
(2)index可选。当前元素的索引值
(3)arr可选。当前元素属于的数组对象
参数2:thisValue
可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。
如果省略了 thisValue ,“this” 的值为 “undefined”
var age=[12,42,34,10];
aa(){
var a=this.age.some((x)=>{
return x>100;
});
console.log(a);//打印结果为false
}

6.两个对象里面相同key赋值
row.row里面的值赋值到this.form里面
Object.keys(this.form).forEach(key => {
this.form[key] = row.row[key];
});
版权声明
本文为[Eli-sun]所创,转载请带上原文链接,感谢
https://blog.csdn.net/vfjcgg/article/details/122495802
边栏推荐
- FOC single resistance sampling position loop control servo motor
- sqlserver性能优化建议
- Error in created hook: “ReferenceError: “Promise”未定义“
- Node的数据库编程
- 赛氪-zeal
- Incremental update of client software
- 2020 Jiangsu Collegiate Programming Contest-A.Array
- js根据名字将数组对象中名字相同的项组成一个相同的数组
- Generate shortcut
- 往String原型上封装一个时间戳转日期的方法
猜你喜欢

谈谈v-if显示隐藏问题

欢迎使用Markdown编辑器

uniapp 自定义搜索框适配小程序对齐胶囊

查漏补缺(三)

.Net Core 下使用 Quartz —— 【5】作业和触发器之触发器的通用属性和优先级

Set up a personal blog of jpress

MOS tube characteristics and conduction process

.Net Core3.1 使用 RazorEngine.NetCore 制作实体生成器 (MVC网页版)

Makefile foundation, common functions and general makefile

Overview of node file system and buffer
随机推荐
ECMAScript历史
The use of volatile in C language
使用jsonwebtoken生成访问密钥
查漏补缺(三)
时间戳转格式化日期
五个路由守卫的使用
Makefile foundation, common functions and general makefile
Vs can be compiled, but there will be a red underline to indicate the problem of undefined identifiers
Error in created hook: “ReferenceError: “Promise”未定义“
Informatics one book pass - small ball
Arm common assembly instructions
C# webpai 路由详解
ASP.NET CORE在类库项目中读取配置文件
【无标题】js中的类型判断
ASP.NET CORE配置选项(下篇)
MOS tube characteristics and conduction process
Redux概述
查漏补缺(九)---程序篇
特效案例收集:鼠标星球小尾巴
SQLite compilation