js數組的5種查詢方式——find(),findIndex(),indexOf(),lastIndexOf(),include()
var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
1.find() 返回數組中第一個滿足條件的數據
// var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
var newNum1 = num.find((item, index) => {
return item > 40;
})
console.log("newNum1 = " + newNum1);//50
2.findIndex() 返回數組中第一個滿足條件的索引(從0開始), 不滿足返回-1
// var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
var newNum2 = num.findIndex((item, index) => {
return item > 40;
})
console.log("newNum2 = " + newNum2);//4
3.indexOf() 返回數組中第一個滿足條件的索引(從0開始), 不滿足返回-1
語法:arr.indexOf(searchElement[, fromIndex = 0])
// var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
var newNum3 = num.indexOf(40);
var newNum4 = num.indexOf(40, 10);//從索引10的位置開始向后查找
console.log("newNum3 = " + newNum3);//3
console.log("newNum4 = " + newNum4);//-1
4.lastIndexOf() 返回數組中最后一個滿足條件的索引(從0開始), 不滿足返回-1
語法:arr.lastIndexOf(searchElement[, fromIndex = arr.length - 1])
// var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
var newNum5 = num.lastIndexOf(40);
var newNum6 = num.lastIndexOf(40, 1);//從索引1的位置開始向前查找
console.log("newNum5 = " + newNum5);//3
console.log("newNum6 = " + newNum6);//-1
5.include() 判斷數組宏是否包含某值,返回 true 或 false
語法:arr.includes(searchElement[, fromIndex])
// var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
var newNum7 = num.includes(40);
var newNum8 = num.includes(40, 5);//從索引5的位置開始向后查找
console.log("newNum7 = " + newNum7);//true
console.log("newNum8 = " + newNum8);//false
代碼合並
var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
// 1.find() 返回數組中第一個滿足條件的數據
// var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
var newNum1 = num.find((item, index) => {
return item > 40;
})
console.log("newNum1 = " + newNum1);//50
// 2.findIndex() 返回數組中第一個滿足條件的索引(從0開始), 不滿足返回-1
// var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
var newNum2 = num.findIndex((item, index) => {
return item > 40;
})
console.log("newNum2 = " + newNum2);//4
// 3.indexOf() 返回數組中第一個滿足條件的索引(從0開始), 不滿足返回-1
// 語法:arr.indexOf(searchElement[, fromIndex = 0])
// var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
var newNum3 = num.indexOf(40);
var newNum4 = num.indexOf(40, 10);//從索引10的位置開始向后查找
console.log("newNum3 = " + newNum3);//3
console.log("newNum4 = " + newNum4);//-1
// 4.lastIndexOf() 返回數組中最后一個滿足條件的索引(從0開始), 不滿足返回-1
// 語法:arr.lastIndexOf(searchElement[, fromIndex = arr.length - 1])
// var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
var newNum5 = num.lastIndexOf(40);
var newNum6 = num.lastIndexOf(40, 1);//從索引1的位置開始向前查找
console.log("newNum5 = " + newNum5);//3
console.log("newNum6 = " + newNum6);//-1
// 5.include() 判斷數組宏是否包含某值,返回 true 或 false
// 語法:arr.includes(searchElement[, fromIndex])
// var num = [10, 20, 30, 40, 50, 60, 70, 80, 90];
var newNum7 = num.includes(40);
var newNum8 = num.includes(40, 5);//從索引5的位置開始向后查找
console.log("newNum7 = " + newNum7);//true
console.log("newNum8 = " + newNum8);//false
```