javascript之遍历数组及对象
来源:互联网 发布:windows 10 显示桌面 编辑:程序博客网 时间:2024/04/29 16:38
var arr = [18,20,26];var obj = {name:"xiaohong",sex:"f",age:"18"};
for 可用于数组的遍历
for(var i=0;i<arr.length;i++){ //i为index console.log(i+':'+arr[i]);}
for in/for of 遍历
for in 会遍历对象所有可枚举的属性,包括prototype的,可通过hasOwnProperty()来过滤,使得只有私有属性被遍历for(var key in obj){ //遍历key if(obj.hasOwnProperty(key)){ console.log(key+':'+obj[key]); }}for of 用于遍历所有可遍历(有Symbol.iterator属性)的collection的数值//用于数组遍历for(var val of arr){ console.log(val); }//用于对象属性值遍历,这里的对象必须是iterable的 for(var val of obj){ console.log(val); }or for(var [key,val] of obj){ //遍历key & value console.log(key+":"+val); }
Note: for...of适合用来遍历数组,for…in也可用于遍历数组,但是如果通过Array.prototype.xxx为Array原生对象添加了属性,则会在该遍历中被读到。
foreach,map,filter,reduce 用于数组遍历
foreach 用于数组遍历,无返回值
arr.foreach(function(value,index,thisArray){ //三个参数,分别为索引,值,当前array console.log(index+':'+value);});
map和filter会返回一个新的数组
var newArr = arr.map(function(value,index,thisArray){ //三个参数,分别为索引,值,当前array return value*2;});var newArr = arr.filter(function(value,index,thisArray){ //三个参数,分别为索引,值,当前array return value>100; //根据return为false或true来决定是否留下当前元素});
reduce会返回一个累加值
var sum = arrreduce.reduce(function(previousValue, currentValue, currentIndex, thisArray) { return previousValue + currentValue; });
Note: 以上函数都可以用箭头函数书写,例如reduce:
var sum = arrreduce.reduce((previousValue, currentValue) => previousValue + currentValue);
使用iterator进行遍历
主要是通过iterator的next()函数进行遍历,需要定义generator和[Symbol.iterator]属性。
0 0
- javascript之遍历数组及对象
- javascript之遍历数组对象
- javascript 遍历数组和对象
- JavaScript奇技淫巧之遍历数组
- JavaScript之对象的遍历
- javascript对象之javascript数组
- JQuery $.each遍历JavaScript数组对象实例
- JavaScript中如何遍历对象数组
- Javascript数组和对象的遍历方法
- JavaScript遍历数组与遍历对象的属性
- Vue指令v-for之遍历输出JavaScript数组,json对象的几种方式
- JavaScript对象之数组Array
- javascript之对象数组排序
- javascript 对象数组不确定对象属性名遍历问题
- Javascript 数组循环遍历之forEach
- Javascript 数组循环遍历之forEach
- Javascript 数组循环遍历之forEach
- Javascript 数组循环遍历之forEach
- TryEnterCriticalSection
- vbs教程《文件操作》
- 5Spring Boot集成Redis实现自动配置
- 关于android studio开发中的两个错误
- Git教程
- javascript之遍历数组及对象
- vbs教程《日期时间》
- Modbus协议与PLC地址映射
- Liquibase中利用changelog增加表字段
- JAVA8学习(一)List、Map的循环迭代
- Java调用shell脚本阻塞
- wxpython中当多个按钮响应同一个事件的时候怎么区分
- vbs教程《条件语句》
- vbs教程《环境变量》