JS中数组和对象的遍历方法

方法一、for循环

for循环是使用最多,也是性能有话最好的一种遍历方式。

var arr = ["a","b","c"];
for(var i=0;i<arr.length;i++){
    console.log(arr[i])
}
//a,b,c
  • 同样 常规的循环还有while循环和do/while循环。
  • 他们之间的区别在于,for循环预先知道了循环次数,while do/while循环不知道循环次数
    方法二:for-of遍历

    for-of是ES6新增的语法,他直接遍历值,而不是数组下标

var arr = ["a","b","c"];
for(let item of arr){
    console.log(item)
}
//a,b,c

为了适应不同方式的遍历,js内置了许多数组方法

1.forEach()方法
var arr = ["a", "b", "c"];
arr.forEach((index, item) => {
  console.log(index, item)
})
// a 0
// b 1
// c 2
2.map()方法
var arr = [1, 2, 3];
var newArr = arr.map(item => {
  return item * 2;
});
console.log(newArr);  // [2, 4, 6]
3.filter()方法
var arr = [1, 2, 3];
var newArr = arr.filter(item => {
  return item > 1;
});
console.log(newArr); // [2, 3]
4.reduce() ES5新增 为累加操作而设计
var arr = [1, 2, 3, 4]
var sum = arr.reduce((pre, cur) => {
    return pre + cur;
});
console.log(sum)
//10
5.every() 用于检测数组元素是否全部符合指定条件
var arr = [1, 2, 3, 4]
var bool = arr.every(item=>{
    return item<5
})
console.log(bool);//true
6.some() 检测数组是否存在一个符合指定条件的元素
 var arr = ["a", 2, "c"]
 var bool = arr.some(item => {
     return typeof item === "number"
 })
 console.log(bool); //true

对象的遍历方法

方法一:for-in循环 用于遍历对象的可枚举属性
var obj = {
    a: 1,
    b: 3,
    c: 4
}
for (var key in obj) {
    console.log(key)
}
//a,b,c
方法二:Object.keys() 和 Object.getOwnPropertyNames()

Object.key()会返回一个数组,包含所有可枚举属性;Object.getOwnPropertyNames()也会返回一个数组,包含所有元素,不管是否可枚举

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!