ES6中陣列和物件的遍歷

2021-09-02 05:49:17 字數 1862 閱讀 8576

在工作中經常會用到陣列或者物件的遍歷,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 查詢陣列中符合條件的元素,返...