數組遍歷的幾種方法


// 數組遍歷
let arr = [1, 2, 3, 4, 5, 6, 7, 8];
let res = [];
let obj = [{ 12: "a" }, { 23: "b" }];

for (let i = 0; i < arr.length; i++) {
  res.push(arr[i]);
  console.log(i, arr[i]);
}

for (let i = 0; i < obj.length; i++) {
  console.log(i, obj[i]);
}

for (let item of arr) {
  console.log(item);
}
for (let item of obj) {
  console.log(item);
}

// 方法對數組的每個元素執行一次給定的函數。
arr.forEach((item, index, array) => {
  console.log(item, index, arr[index]);
});
obj.forEach((item, index, array) => {
  console.log(item, index, obj[index]);
});

// 方法創建一個新數組,其結果是該數組中的每個元素是調用一次提供的函數后的返回值。
let res_map = arr.map(function (item, index, arr) {
  return item * 10;
});

let _obj = [{ id: 2 }, { id: 1 }];
let _map = _obj.map(function (item, index, arr) {
  return item.id > 1;
});

//  方法創建一個新數組, 其包含通過所提供函數實現的測試的所有元素。
let res_filter = arr.filter(function (item) {
  return item * 2 > 2;
});

// 方法測試一個數組內的所有元素是否都能通過某個指定函數的測試。它返回一個布爾值。
// 注意:若收到一個空數組,此方法在一切情況下都會返回 true。
let res_every = arr.every(function (item) {
  return item < 9;
});

// 方法測試數組中是不是至少有1個元素通過了被提供的函數測試。它返回的是一個Boolean類型的值。
// 注意:如果用一個空數組進行測試,在任何情況下它返回的都是false。
let res_some = arr.some(function (item, index, array) {
  return item > 9;
});

// 方法對數組中的每個元素執行一個由您提供的reducer函數(升序執行),將其結果匯總為單個返回值。
let res_reduce = arr.reduce(function (
  Accumulator,
  CurrentValue,
  CurrentIndex,
  SourceArray
) {
  return Accumulator + CurrentValue;
});

// 方法接受一個函數作為累加器(accumulator)和數組的每個值(從右到左)將其減少為單個值。
let res_reduceRight = arr.reduceRight(function (
  accumulator,
  currentValue,
  index,
  array
) {
  // return accumulator.concat(currentValue);
});

// 方法返回數組中滿足提供的測試函數的第一個元素的值。否則返回 undefined
let res_find = arr.find((element) => element > 0);

// 方法返回數組中滿足提供的測試函數的第一個元素的索引。若沒有找到對應元素則返回-1。
let res_findIndex = arr.findIndex((element) => element == 4);

// keys() 方法返回一個包含數組中每個索引鍵的Array Iterator對象。
for (let index of arr.keys()) {
  console.log(index);
}
// values() 方法返回一個新的 Array Iterator 對象,該對象包含數組每個索引的值
for (let elem of arr.values()) {
  console.log(elem);
}
// entries() 方法返回一個新的Array Iterator對象,該對象包含數組中每個索引的鍵/值對
for (let [index, elem] of arr.entries()) {
  console.log(index, elem);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM