数组、对象

2017-09-17  本文已影响0人  安石0

数组

1,filter方法:

function isBigEnough(value) {
  return value >= 10;//返回的是true,则该项通过筛选
}

var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);//筛选出来的是一个新的数组
被调用时传入三个参数:

元素的值
元素的索引
被遍历的数组

2,forEach方法:

forEach() 方法对数组的每个元素执行一次提供的函数。

let a = ['a', 'b', 'c'];

a.forEach(function(element) {
    console.log(element);
});

3,map方法:

map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

let numbers12 = [1, 5, 10, 15];
let doubles12= numbers12.map((x,index) => {
   return '我是你爸爸'+index+'  '+x;
});
//返回undefined
doubles12//["我是你爸爸0  1", "我是你爸爸1  5", "我是你爸爸2  10", "我是你爸爸3  15"]

4,reduce方法:

reduce() 方法对累加器和数组中的每个元素 (从左到右)应用一个函数,将其减少为单个值。

var arr=[1,2,3,4]
var total = arr.reduce(function(sum, value) {
  return sum + value;
}, 'a');
arr//[1, 2, 3, 4]
total//"a1234"
array.reduce(function(accumulator, currentValue, currentIndex, array), initialValue)
参数
callback
执行数组中每个值的函数,包含四个参数
accumulator
上一次调用回调返回的值,或者是提供的初始值(initialValue)
currentValue
数组中正在处理的元素
currentIndex
数据中正在处理的元素索引,如果提供了 initialValue ,从0开始;否则从1开始
array
调用 reduce 的数组
initialValue
可选项,其值用于第一次调用 callback 的第一个参数。如果没有设置初始值,则将数组中的第一个元素作为初始值。空数组调用reduce时没有设置初始值将会报错。
var total = [].reduce(function(sum, value) {
  return sum + value;
});
//TypeError: Reduce of empty array with no initial value
var total = [].reduce(function(sum, value) {
  return sum + value;
},1);
total//1
//说好的累加,加号的两边都没有参数

对象

上一篇 下一篇

猜你喜欢

热点阅读