जावास्क्रिप्ट का some() मेथड चेक करने के लिए उपयोग किया जाता है कि क्या एरे में कोई एलिमेंट कंडीशन को पूरा करता है।
सिंटैक्स इस प्रकार है:
array.some(function(currentValue, index, arr), thisValue)
ऊपर, फंक्शन() के तहत पैरामीटर्स में currentValue (वर्तमान एलिमेंट का मान), index (एरे इंडेक्स), जबकि arr एरे ऑब्जेक्ट है जिसका वर्तमान एलिमेंट संबंधित है।
उदाहरण 1
<!DOCTYPE html>
<html>
<body>
<h2>रैंकिंग पॉइंट्स</h2>
<p>क्या कोई पॉइंट 400 से ऊपर है...</p>
<button onclick="display()">परिणाम</button>
<p id="demo"></p>
<script>
var pointsArr = [50, 100, 200, 300, 400, 500, 600];
function pointsFunc(points) {
return points > 400;
}
function display() {
document.getElementById("demo").innerHTML = pointsArr.some(pointsFunc);
}
</script>
</body></html>
आउटपुट
true
उदाहरण 2
<!DOCTYPE html>
<html>
<body>
<h2>रैंकिंग पॉइंट्स</h2>
<p>क्या कोई पॉइंट 550 के बराबर है...</p>
<button onclick="display()">परिणाम</button>
<p id="demo"></p>
<script>
var pointsArr = [10, 20, 30, 40, 50, 60, 70, 80, 90, 1000];
function pointsFunc(points) {
return points == 550;
}
function display() {
document.getElementById("demo").innerHTML = pointsArr.some(pointsFunc);
}
</script>
</body></html>
आउटपुट
false
व्यावहारिक उपयोग
const users = [
{ name: 'Alice', age: 25, active: true },
{ name: 'Bob', age: 17, active: true },
{ name: 'Charlie', age: 30, active: false }
];
// कोई एडल्ट है?
users.some(user => user.age >= 18); // true
// कोई इनएक्टिव है?
users.some(user => !user.active); // true
// खाली एरे
[].some(x => true); // false
// शॉर्ट-सर्किट - पहली मैच पर रुकता है
const arr = [1, 2, 3, 4, 5];
arr.some(x => {
console.log('चेकिंग:', x);
return x > 2;
});
// लॉग्स: चेकिंग: 1, चेकिंग: 2, चेकिंग: 3 (फिर रुक जाता है)
some vs every vs find vs includes
const arr = [1, 2, 3, 4, 5];
arr.some(x => x > 3); // true - कम से कम एक
arr.every(x => x > 0); // true - सभी
arr.find(x => x > 3); // 4 - पहला मैचिंग वैल्यू
arr.includes(3); // true - सटीक मैच
नोट: some बूलियन लौटाता है, पहली ट्रूथी कंडीशन पर रुक जाता है (शॉर्ट-सर्किट)।