JavaScript 数组搜索

ການຊອກຫາ ແລະ ການຊອກຫາຕາມລະບົບສະແດງ

ບໍ່ມີຫຍັງພື້ນຖານ

JavaScript Array indexOf()

indexOf() ພວກມັນການຊອກຫາສະແດງທີ່ຢູ່ໃນຕາມລະບົບສະແດງ ແລະກັບຄືນຫາຄົນທີ່ຢູ່.

ເຫັນວ່າ:ອີກຄັ້ງຂອງປະກອງທີ່ 0 ຄືກັນທີ່ 1 ອອກຈາກນັ້ນຕົວຢູ່ອອກ.

实例

ຊອກຫາປະກອງ "Phet" ໃນຕາມລະບົບສະແດງ:

const fruits = ["Phet", "Khaeng", "Phet", "Mango"];
let position = fruits.indexOf("Phet") + 1;

亲自试一试

ວິທີການ

array.indexOf(item, start)
item ສະເພາະ. ລາຍການຊອກຫາ.
start ສາມາດເລືອກ. ສະຖານທີ່ເລີ່ມຊອກຫາ. ຈຳນວນທີ່ບໍ່ພິການຈະເລີ່ມຊອກຈາກຫນັງອາມາມັງລົງຫາຫນັງ.

ຄວາມຜະລິດຕັດດັງ:

  • ຖ້າບໍ່ພົບປະກອງ ຈະກັບຄືນ -1.
  • ຖ້າປະກອງແມ່ນມີຫຼາຍຄັ້ງ ຈະກັບຄືນຫາຄົນທີ່ກໍາລັງທໍາອິດ.

JavaScript Array lastIndexOf()

lastIndexOf() ພວກມັນການ indexOf() ຄືກັນຢ່າງນັ້ນ ແຕ່ກັບຄືນຫາຄົນທີ່ປະກອບທີ່ຢູ່ສຸດທ້າຍ.

实例

ຊອກຫາປະກອງ "Phet" ໃນຕາມລະບົບສະແດງ:

const fruits = ["Phet", "Khaeng", "Phet", "Mango"];
let position = fruits.lastIndexOf("Phet") + 1;

亲自试一试

ວິທີການ

array.lastIndexOf(item, start)
item ສະເພາະ. ລາຍການຊອກຫາ.
start ສາມາດເລືອກ. ສະຖານທີ່ເລີ່ມຊອກຫາ. ຈຳນວນທີ່ບໍ່ພິການຈະເລີ່ມຊອກຈາກຫນັງອາມາມັງລົງຫາຫນັງ.

JavaScript Array includes()

ECMAScript 2016 ໄດ້ເຂົ້າມາ Array.includes() 方法。ມັນສາມາດຫາຄົນວ່າມີປະກອບທີ່ຢູ່ໃນຕາມລະບົບສະແດງ (ບໍ່ແມ່ນ indexOf)。

实例

const phetsup = ["Banana", "Khaeng", "Phet", "Mango"];
fruits.includes("Mango"); // ປະກອບວ່າ true

亲自试一试

ວິທີການ

array.includes(search-item)

search-itemເປັນປະກອບທີ່ຕ້ອງຊອກຫາ。

ເຫັນວ່າ:includes() ສາມາດກວດສອບຄຸນນະພາບ NaN ແຕ່ indexOf() ບໍ່ສາມາດ

浏览器支持

includes() ແມ່ນ ECMAScript 2016 ການສ້າງທາງ

ຕັ້ງແຕ່ 2017 ສວັນມິຖຸນາທີ່ຜູ້ບັນຈຸບັນຊີວິດທັງໝົດສະໜັບສະໜູນ ES2016:

Chrome Edge Firefox Safari Opera
Chrome 52 Edge 15 Firefox 52 Safari 10.1 Opera 39
2016 ສວັນພະຈິກ 2017 ສວັນມິຖຸນາ 2017 ສວັນມິຖຸນາ 2017 ສວັນພະຈິກ 2016 ສວັນພະຈິກ

Internet Explorer ບໍ່ສະໜັບສະໜູນ includes()

JavaScript Array find()

find() ກອງການຍິນຍອມຮັບຄຸນນະພາບຂອງບັນນາທິບັນຍາທີ່ພິຈາລະນາວ່າມີຄຸນນະພາບຫລາຍກວ່າ 18 ຂອງບັນນາທິບັນຍາທີ່ທຳນຽມຄັ້ງທຳອິດ。

实例

ຄົ້ນຫາບັນນາທິບັນຍາທີ່ຫລາຍກວ່າ 18 ຄຳກັນກັບບັນນາທິບັນຍາຫລັງຂອງບັນນາທິບັນຍາ:

const numbers = [4, 9, 16, 25, 29];
let first = numbers.find(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

亲自试一试

ເຫັນວ່າ:ກອງການຍິນຍອມຮັບ 3 ການຈຳນວນ:

  • ຄຸນນະພາບຂອງປະກັນ
  • ບັນນາທິບັນຍາປະກັນ
  • ຄູ່ມືວົງ

浏览器支持

find() ເປັນການສ້າງທາງປະຈຳ ES6 (JavaScript 2015)

ຕັ້ງແຕ່ 2017 ສວັນມິຖຸນາທີ່ຜູ້ບັນຈຸບັນຊີວິດທັງໝົດສະໜັບສະໜູນ ES6:

Chrome Edge Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
2016 ສວັນພະຈິກ 2017 ສວັນມິຖຸນາ 2017 ສວັນມິຖຸນາ 2016 ສວັນພະຈິກ 2016 ສວັນມິຖຸນາ

Internet Explorer ບໍ່ສະໜັບສະໜູນ find().

JavaScript Array findIndex()

findIndex() ກອງການຍິນຍອມຮັບຫລຸດຄະນະກຳນົດທີ່ພິຈາລະນາວ່າມີຄຸນນະພາບຫລາຍກວ່າ 18 ຂອງບັນນາທິບັນຍາທີ່ທຳນຽມຄັ້ງທຳອິດ。

实例

ຄົ້ນຫາບັນນາທິບັນຍາທີ່ຫລາຍກວ່າ 18 ຄຳກັນກັບບັນນາທິບັນຍາຫລັງຂອງບັນນາທິບັນຍາ:

const numbers = [4, 9, 16, 25, 29];
let first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

亲自试一试

ເຫັນວ່າ:ກອງການຍິນຍອມຮັບ 3 ການຈຳນວນ:

  • ຄຸນນະພາບຂອງປະກັນ
  • ບັນນາທິບັນຍາປະກັນ
  • ຄູ່ມືວົງ

浏览器支持

findIndex() ເປັນການສ້າງທາງປະຈຳ ES6 (JavaScript 2015)

ຕັ້ງແຕ່ 2017 ສວັນມິຖຸນາທີ່ຜູ້ບັນຈຸບັນຊີວິດທັງໝົດສະໜັບສະໜູນ ES6:

Chrome Edge Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
2016 ສວັນພະຈິກ 2017 ສວັນມິຖຸນາ 2017 ສວັນມິຖຸນາ 2016 ສວັນພະຈິກ 2016 ສວັນມິຖຸນາ

Internet Explorer ບໍ່ສະໜັບສະໜູນ findIndex().

JavaScript Array findLast()

ES2023 ໄດ້ເພີ່ມ findLast() ກົນລະບົບທີ່ເລີ່ມຈາກດ່ານຫລັງຂອງຄູ່ມືແລະຫລຸດຄະນະກຳນົດທີ່ພິຈາລະນາວ່າມີຄຸນນະພາບຫລາຍກວ່າ 40。

实例

const temp = [27, 28, 30, 40, 42, 35, 30];
let high = temp.findLast(x => x > 40);

亲自试一试

浏览器支持

findLast() 是 ES2023 的特性。

自 2023 年 7 月起,所有现代浏览器均支持:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
2023 ກຸມພາ 2023 ກຸມພາ 2023 ກໍລະກົດ 2023 ມີນາ 2023 ທັນວາ

JavaScript Array findLastIndex() Method

findLastIndex() 方法查找满足条件的最后一个元素的索引。

实例

const temp = [27, 28, 30, 40, 42, 35, 30];
let pos = temp.findLastIndex(x => x > 40);

亲自试一试

浏览器支持

findLastIndex() 是 ES2023 的特性。

自 2023 年 7 月起,所有现代浏览器均支持:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
2023 ກຸມພາ 2023 ກຸມພາ 2023 ກໍລະກົດ 2023 ມີນາ 2023 ທັນວາ

ປື້ມການປົກຄອງວັດຖຸລວມທັງໝົດ

ສຳລັບການຮັບຮູບວັດຖຸລວມທັງໝົດ, ການເຂົ້າຫາ:JavaScript ປື້ມການປົກຄອງວັດຖຸລວມ.

ປື້ມການປົກຄອງວັດຖຸລວມທັງໝົດບັນທຶກການອະທິບາຍແລະຄວາມຄິດທີ່ຕາມ.