Array.prototype.some()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itโs been available across browsers since โจ2015ๅนด7ๆโฉ.
some()
ๆนๆณๆต่ฏๆฐ็ปไธญๆฏๅฆ่ณๅฐๆไธไธชๅ
็ด ้่ฟไบ็ฑๆไพ็ๅฝๆฐๅฎ็ฐ็ๆต่ฏใๅฆๆๅจๆฐ็ปไธญๆพๅฐไธไธชๅ
็ด ไฝฟๅพๆไพ็ๅฝๆฐ่ฟๅ true๏ผๅ่ฟๅ true๏ผๅฆๅ่ฟๅ falseใๅฎไธไผไฟฎๆนๆฐ็ปใ
ๅฐ่ฏไธไธ
const array = [1, 2, 3, 4, 5];
// Checks whether an element is even
const even = (element) => element % 2 === 0;
console.log(array.some(even));
// Expected output: true
่ฏญๆณ
some(callbackFn)
some(callbackFn, thisArg)
ๅๆฐ
callbackFn
-
ไธบๆฐ็ปไธญ็ๆฏไธชๅ ็ด ๆง่ก็ๅฝๆฐใๅฎๅบ่ฏฅ่ฟๅไธไธช็ๅผไปฅๆ็คบๅ ็ด ้่ฟๆต่ฏ๏ผๅฆๅ่ฟๅไธไธชๅๅผใ่ฏฅๅฝๆฐ่ขซ่ฐ็จๆถๅฐไผ ๅ ฅไปฅไธๅๆฐ๏ผ
thisArg
ๅฏ้-
ๆง่ก
callbackFn
ๆถ็จไฝthis
็ๅผใๅ่ง่ฟญไปฃๆนๆณใ
่ฟๅๅผ
ๅฆๆๅ่ฐๅฝๆฐๅฏนๆฐ็ปไธญ่ณๅฐไธไธชๅ
็ด ่ฟๅไธไธช็ๅผ๏ผๅ่ฟๅ true
ใๅฆๅ่ฟๅ false
ใ
ๆ่ฟฐ
some()
ๆนๆณๆฏไธไธช่ฟญไปฃๆนๆณใๅฎไธบๆฐ็ปไธญ็ๆฏไธชๅ
็ด ่ฐ็จไธๆฌกๆๅฎ็ callbackFn
ๅฝๆฐ๏ผ็ดๅฐ callbackFn
่ฟๅไธไธช็ๅผใๅฆๆๆพๅฐ่ฟๆ ท็ๅ
็ด ๏ผsome()
ๆนๆณๅฐไผ็ซๅณ่ฟๅ true
ๅนถๅๆญข้ๅๆฐ็ปใๅฆๅ๏ผๅฆๆ callbackFn
ๅฏนๆๆๅ
็ด ้ฝ่ฟๅๅๅผ๏ผsome()
ๅฐฑไผ่ฟๅ false
ใ
some()
็ฑปไผผไบๆฐๅญฆไธญ็โๅญๅจ้่ฏ๏ผโ๏ผโใ็นๅซๅฐ๏ผๅจๅฏนไบไธไธช็ฉบๆฐ็ป๏ผไปปไฝๆกไปถไธๅฎ้ฝ่ฟๅ false
ใ
callbackFn
ไป
้ๅฏนๅทฒๅ้
ๅผ็ๆฐ็ป็ดขๅผ่ฐ็จใๅฎไธไผไธบ็จ็ๆฐ็ปไธญ็็ฉบๆงฝ่ฐ็จใ
some()
ไธไผๆนๅ่ฐ็จๅฎ็ๆฐ็ป๏ผไฝๆๅฎ็ callbackFn
ๅฝๆฐๅฏไปฅใไฝๆฏ่ฏทๆณจๆ๏ผๆฐ็ป็้ฟๅบฆๆฏๅจ็ฌฌไธๆฌก่ฐ็จ callbackFn
ไนๅไฟๅญ็ใๅ ๆญค๏ผ
- ๅฝๅผๅง่ฐ็จ
some()
ๆถ๏ผcallbackFn
ๅฐไธไผ่ฎฟ้ฎ่ถ ๅบๆฐ็ปๅๅง้ฟๅบฆ็ไปปไฝๅ ็ด ใ - ๅฏนๅทฒ่ฎฟ้ฎ็ดขๅผ็ๆดๆนไธไผๅฏผ่ดๅๆฌกๅจ่ฟไบๅ
็ด ไธ่ฐ็จ
callbackFn
ใ - ๅฆๆๆฐ็ปไธญไธไธช็ฐๆ็ใๅฐๆช่ฎฟ้ฎ็ๅ
็ด ่ขซ
callbackFn
ๆดๆน๏ผๅๅฎไผ ้็ปcallbackFn
็ๅผๅฐๆฏ่ฏฅๅ ็ด ่ขซไฟฎๆนๅ็ๅผใ่ขซๅ ้ค็ๅ ็ด ๅไธไผ่ขซ่ฎฟ้ฎใ
่ญฆๅ๏ผ ไธ่ฟฐ็ฑปๅ็ๅนถๅไฟฎๆน็ปๅธธๅฏผ่ด้พไปฅ็่งฃ็ไปฃ็ ๏ผ้ๅธธๅบ้ฟๅ ๏ผ็นๆฎๆ ๅต้คๅค๏ผใ
some()
ๆนๆณๆฏ้็จ็ใๅฎๅชๆๆ this
ๅผๅ
ทๆ length
ๅฑๆงๅๆดๆฐ้ฎๅฑๆงใ
็คบไพ
ๆต่ฏๆฐ็ปๅ ็ด ็ๅผ
ไธ้ข็ไพๅญๆฃๆตๅจๆฐ็ปไธญๆฏๅฆๆๅ ็ด ๅคงไบ 10ใ
function isBiggerThan10(element, index, array) {
return element > 10;
}
[2, 5, 8, 1, 4].some(isBiggerThan10); // false
[12, 5, 8, 1, 4].some(isBiggerThan10); // true
ไฝฟ็จ็ฎญๅคดๅฝๆฐๆต่ฏๆฐ็ปๅ ็ด ็ๅผ
็ฎญๅคดๅฝๆฐๅฏไปฅ้่ฟๆด็ฎๆด็่ฏญๆณๅฎ็ฐ็ธๅ็็จไพใ
[2, 5, 8, 1, 4].some((x) => x > 10); // false
[12, 5, 8, 1, 4].some((x) => x > 10); // true
ๅคๆญๆฐ็ปๅ ็ด ไธญๆฏๅฆๅญๅจๆไธชๅผ
ๆญคไพไธบๆจกไปฟ includes()
ๆนๆณ๏ผ่ฅๅ
็ด ๅจๆฐ็ปไธญๅญๅจ๏ผๅๅ่ฐๅฝๆฐ่ฟๅๅผไธบ true
:
const fruits = ["apple", "banana", "mango", "guava"];
function checkAvailability(arr, val) {
return arr.some((arrVal) => val === arrVal);
}
checkAvailability(fruits, "kela"); // false
checkAvailability(fruits, "banana"); // true
ๅฐไปปๆๅผ่ฝฌๆขไธบๅธๅฐ็ฑปๅ
const TRUTHY_VALUES = [true, "true", 1];
function getBoolean(value) {
if (typeof value === "string") {
value = value.toLowerCase().trim();
}
return TRUTHY_VALUES.some((t) => t === value);
}
getBoolean(false); // false
getBoolean("false"); // false
getBoolean(1); // true
getBoolean("true"); // true
ๅจ็จ็ๆฐ็ปไธไฝฟ็จ some()
some()
ไธไผๅจ็ฉบๆงฝไธ่ฟ่กๅฎ็ๆญ่จๅฝๆฐใ
console.log([1, , 3].some((x) => x === undefined)); // false
console.log([1, , 1].some((x) => x !== 1)); // false
console.log([1, undefined, 1].some((x) => x !== 1)); // true
ๅจ้ๆฐ็ปๅฏน่ฑกไธ่ฐ็จ some()
some()
ๆนๆณ่ฏปๅ this
็ length
ๅฑๆง๏ผ็ถๅ่ฎฟ้ฎๆฏไธชๆดๆฐ็ดขๅผ๏ผ็ดๅฐๅฐ่พพๆซๅฐพๆ callbackFn
่ฟๅ true
ใ
const arrayLike = {
length: 3,
0: "a",
1: "b",
2: "c",
};
console.log(Array.prototype.some.call(arrayLike, (x) => typeof x === "number"));
// false
่ง่
Specification |
---|
ECMAScriptยฎ 2026 Language Specification # sec-array.prototype.some |
ๆต่งๅจๅ ผๅฎนๆง
Loadingโฆ