在工作中經常會用到陣列或者物件的遍歷,for的一大痛點就是額外定義了變數,for迴圈一多,變數又容易衝突。es6給出了新的遍歷的方法,我們一起來看一下
foreach方法
var name = ['張三', '李四', '王五'];
['張三', '李四', '王五'].foreach((v,l,k) => )
map方法: map 是表示對映的,也就是一一對應,遍歷完成之後會返回乙個新的陣列,但是不會修改原來的陣列
var a1 = ['a', 'b', 'c'];
var a2 = a1.map(function(item,key,ary) );
console.log(a1);// ['a','b','c'];
console.log(a2); //['a','b','c'];
filter 它呢有過濾的意思,也就說它就是乙個過濾器 ,那它怎麼用呢
var a1 = [1,2,3,4,5,6];
var a2 = a1.filter(function(item) );
console.log(a2); // [1,2,3];
//filter 它將是遍歷每乙個元素,用每乙個元素去匹配,如果返回true,就會返回乙個次數,最後將所有符合新增的全部選出
reduce(從左到右 依此遍歷,一般用來做加減乘除用算用的)
var a1 = [1, 2, 3];
var total = a1.reduce(function(first, second) ,0);
console.log(total) // prints 6
//注意 1、就是 return first+second 其實相當於 return first+=second; 也就是說每次的first 是上一次的和
//2、就是function{}後面的引數,如果 有值 那麼第一次載入的時候 first = 0; second = 1;
如果沒有值 , first = 1 , second = 2;如果後面的引數是個字串,那麼就是會是字串拼接、
every(且)
function isnumber(value)
var a1 = [1, 2, 3];
console.log(a1.every(isnumber)); // logs true
var a2 = [1, '2', 3];
console.log(a2.every(isnumber)); // logs false
//注意:陣列中每乙個元素在callback上都被返回true時就返回true,否則為false
some (或)
function isnumber(value)
var a1 = [1, 2, 3];
console.log(a1.some(isnumber)); // logs true
var a2 = [1, '2', 3];
console.log(a2.some(isnumber)); // logs true
var a3 = ['1', '2', '3'];
console.log(a3.some(isnumber)); // logs false
//注意:只要陣列中有一項在callback上被返回true,就返回true
可以檢視我另一篇部落格
js遍歷物件
es6陣列中的遍歷
我經常會運算元組,而且避免不了對每乙個欄位的操作,這樣就會用到遍歷,遍歷有好多種,今天我歸納一下經常會用到的幾個 1 foreach是乙個我們經常用的乙個 var name 張三 李四 王五 name.foreach function v,k 注意 jquery中each方法是反的,比如 name ...
es6陣列中的遍歷
我經常會運算元組,而且避免不了對每乙個欄位的操作,這樣就會用到遍歷,遍歷有好多種,今天我歸納一下經常會用到的幾個 1 foreach是乙個我們經常用的乙個 var name 張三 李四 王五 name.foreach function v,k 注意 jquery中each方法是反的,比如 name ...
ES6 陣列和物件
先列乙個要學習內容的大綱,慢慢補齊。es5 中新增的方法 forwhile arr.foreach 迴圈遍歷陣列中的每一位 arr.map 迴圈遍歷陣列中的每一位,並返回乙個新陣列 arr.filter 迴圈遍歷陣列中的每一位,並過濾一些不合要求的元素。arr.some 查詢陣列中符合條件的元素,返...