js資料處理——遍歷

lerryteng發表於2018-07-16

陣列的遍歷

for

const arr = [1, 2, 3];
for (let i = 0, length = arr.length; i < length; i++) {
    console.log(i);
}

// 1
// 2
// 3
複製程式碼

Array.prototype.forEach(遍歷每一項,無法中途退出迴圈)

const arr = [1, 2, 3];
arr.forEach((item) => {
    console.log(item);
})

// 1
// 2
// 3
複製程式碼

Array.prototype.map(返回每項加工過後的新陣列)

const arr = [1, 2, 3];
let newArr = arr.map((item) => {
    return item + 1;
});
console.log(newArr);

// [2, 3, 4]
複製程式碼

Array.prototype.filter(返回符合條件的值組成的新陣列)

const arr = [1, 2, 3];
let newArr = arr.filter((item) => {
    return item > 1;
});
console.log(newArr);

// [2, 3]
複製程式碼

Array.prototype.reduce(用於累加,引數1:上次累加的結果,引數2,當前項,返回累加結果)

const arr = [1, 2, 3];
let sum = arr.reduce((prev, item) => {
    return prev + item
});
console.log(sum);

// 6
複製程式碼

Array.prototype.some(返回陣列中是否有滿足條件的項)

const arr = [1, 2, 3];
let res = arr.some((item) => {
    return item > 1;
});
console.log(res);

// true
複製程式碼

Array.prototype.every(返回陣列的每一項是否都滿足條件)

const arr = [1, 2, 3];
let res = arr.every((item) => {
    return item > 1;
});
console.log(res);

// false
複製程式碼

Array.prototype.indexOf(返回某一項在陣列中的下標)

const arr = [1, 2, 3];
let index = arr.indexOf(2);
console.log(index);

// 1
複製程式碼

Array.prototype.lastIndexOf(逆向查詢,返回某一項在陣列中的下標)

const arr = [1, 2, 3];
let index = arr.lastIndexOf(2);
console.log(index);

// 1
複製程式碼

for...in(只能遍歷下標)

const arr = [1, 2, 3];
for (let index in arr) {
    console.log(index);
}

// 0
// 1
// 2
複製程式碼

for...of(遍歷每一項)

const arr = [1, 2, 3];
for (let index of arr) {
    console.log(index);
}

// 1
// 2
// 3
複製程式碼

物件的遍歷

for...in

const obj = {No: 1, Name: 'Lerry', Handsome: true};
for (let key in obj) {
    console.log(key, obj[key]);
}

// No 1
// Name Lerry
// Handsome true
複製程式碼

Object.keys()

const obj = {No: 1, Name: 'Lerry', Handsome: true};
let keysArr = Object.keys(obj);
console.log(keysArr);

// ["No", "Name", "Handsome"]
複製程式碼

Object.values()

const obj = {No: 1, Name: 'Lerry', Handsome: true};
let valuesArr = Object.values(obj);
console.log(valuesArr);

// [1, "Lerry", true]
複製程式碼

Object.entries()

const obj = {No: 1, Name: 'Lerry', Handsome: true};
for (let [key, value] of Object.entries(obj)) {
    console.log(key, value);
}

// No 1
// Name Lerry
// Handsome true
複製程式碼

相關文章