前言:
在学习set()的时候,发现了一个[1,2,3].map(x=>s.add(x));what are they 弄啥呢? 问了问柴狗,柴狗汪汪汪….问了某秋大神.大神回复说.map reduce两个高级函数啊,js基础东东啊。于是装逼失败的我,百了一度。
ES5 Array 方法:
forEach (js v1.6),map (js v1.6),filter (js v1.6),some (js v1.6),every (js v1.6),indexOf (js v1.6),lastIndexOf (js v1.6),reduce (js v1.8),reduceRight (js v1.8)。 放着forEach我们不说。来看看其他的。
map方法:
var data = [1, 2, 3, 4]; //此方法与forEach()相似 var arrayOfSquares = data.map(function (item) { return item * item; }); console.log(arrayOfSquares);//返回1,4,9,16 //若不return,则callback返回undefined
filer方法(过滤):
var arr = [ {"name":"某秋", "specfic": "大神"}, {"name":"柴犬", "specfic": "逗比"}, ]; //比判断完了push简单了很多1 var newArr = arr.filter(function(item){ return item.name === "柴犬"; }); console.log("这里有一个逗比:",newArr);
some,every 方法(某些)(每个):
var arr=[1,2,3,4,5]; var criterion=2 var test (score)=>criterion>score; //至少有个一个符合条件返回true,every是每个满足 if (arr.some(test)) { console.log("成功了~") }
indexOf方法(索引)
PS:实在给跪了,感谢小羽…的思维导图,(明明是你讲不清楚)。
reduce,reduceRight 方法(左到右,右到左)
"use strict"; var a=[1,2,3].reduce((a,c)=>a+c); console.log(a);//1.1+2 2.3+3 返回6