es6陣列中的遍歷

2022-08-28 03:33:12 字數 2003 閱讀 8560

我經常會運算元組,而且避免不了對每乙個欄位的操作,這樣就會用到遍歷,遍歷有好多種,今天我歸納一下經常會用到的幾個:

1、foreach是乙個我們經常用的乙個:

var name = ['張三', '李四', '王五'];

name.foreach(

function

(v,k) );

//注意:jquery中each方法是反的,比如:

$(name).each(function

(k,v));

//這裡面的this指向的v

2、map和foreach 近乎很像,但是也有它的不同之處,比如:

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'];

注意:map 是表示對映的,也就是一一對應,遍歷完成之後會返回乙個新的陣列,但是不會修改原來的陣列

3、filter它呢有過濾的意思,也就說它就是乙個過濾器 ,那它怎麼用呢

var a1 = [1,2,3,4,5,6];

var a2 = a1.filter(function

(item) );

console.log(a2);

//[1,2,3];

//filter 它將是遍歷每乙個元素,用每乙個元素去匹配,如果返回true,就會返回乙個次數,最後將所有符合新增的全部選出

4、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;如果後面的引數是個字串,那麼就是會是字串拼接、

5、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

6、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

es6陣列中的遍歷

我經常會運算元組,而且避免不了對每乙個欄位的操作,這樣就會用到遍歷,遍歷有好多種,今天我歸納一下經常會用到的幾個 1 foreach是乙個我們經常用的乙個 var name 張三 李四 王五 name.foreach function v,k 注意 jquery中each方法是反的,比如 name ...

ES6中陣列和物件的遍歷

在工作中經常會用到陣列或者物件的遍歷,for的一大痛點就是額外定義了變數,for迴圈一多,變數又容易衝突。es6給出了新的遍歷的方法,我們一起來看一下 foreach方法 var name 張三 李四 王五 張三 李四 王五 foreach v,l,k map方法 map 是表示對映的,也就是一一對...

ES6 屬性的遍歷

1.for in 迴圈遍歷物件自身的和繼承的可列舉屬性 不含symbol屬性 2.obejct.keys obj 返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含symbol屬性 3.object.getownpropertynames obj 返回乙個陣列,包含物件自身的所有屬性 不...