遍历对象
//原生js
const obj = {
id:1,
name:'jack',
age:12}
for(let key in obj){
console.log(key + '---' + obj[key])
}
// 获得所有的key
console.log(Object.keys(obj))
//获得所有的value
console.log(Object.values(obj))
//jquery
$.each(arr, function(index,value){
console.log(index+ '---' +value);
})
遍历数组
const arr=["张三","李四","王五"];
for(j = 0,len=arr.length; j < len; j++) {
console.log(j,":",arr[j]);
}
for (var i in arr){
console.log(i,":",arr[i]);
}
//可以正确响应break、continue和return语句
for (var v of arr) {
console.log(v);
}
arr.forEach(function(val, index) {
console.log(val, index);
});
// jquery
$.each(arr, function(index,value){
console.log(index+ '---' +value);
})
函数式遍历
map操作
var arr = [12,23,24,42,1];
var res = arr.map(function (item,index,arr ) {
console.log(item + "--" + index + "---" +arr);
return item*10;
})
console.log(res); [120, 230, 240, 420, 10]
filter操作
var arr = [12,23,24,42,1];
var res = arr.filter(function (item) {
return item>20;
});
console.log(res); [23, 24, 42]
ES写法
var arr = [12,23,24,42,1];
var res = arr.filter((item) => {
return item>20;
});
console.log(res); [23, 24, 42]
find 返回一个符合条件
var arr = [12,23,24,42,1];
var res = arr.find(function (item) {
return item>20;
});
console.log(res); 23
ES写法
var arr = [12,23,24,42,1];
var res = arr.find((item) => {
return item>20;
});
console.log(res); 23
reduce
reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。
var total = [0,1,2,3,4].reduce((a, b)=>a + b);
console.log(total); 10
every遍历
some遍历