2016 अक्टूबर को संपादित
- इसे सरल, सहज और स्पष्ट ( ओकाम का उस्तरा) करें )
- इसे अपरिवर्तनीय करें (मूल सरणी अपरिवर्तित रहें)
- यह मानक जावास्क्रिप्ट कार्यों के साथ करें, यदि आपका ब्राउज़र उनका समर्थन नहीं करता है - पॉलीफिल का उपयोग करें
इस कोड उदाहरण में मैं "array.filter (...)" फ़ंक्शन का उपयोग करके किसी सरणी से अवांछित आइटम निकालता हूं । यह फ़ंक्शन मूल सरणी को नहीं बदलता है और एक नया बनाता है। यदि आपका ब्राउज़र इस फ़ंक्शन का समर्थन नहीं करता है (उदाहरण के लिए संस्करण 9 से पहले इंटरनेट एक्सप्लोरर, या संस्करण 1.5 से पहले फ़ायरफ़ॉक्स), तो शिला से फ़िल्टर पॉलीफ़िल का उपयोग करने पर विचार करें ।
आइटम को निकालना (ECMA-262 संस्करण 5 कोड उर्फ ओल्डस्टाइल जावास्क्रिप्ट)
var value = 3
var arr = [1, 2, 3, 4, 5, 3]
arr = arr.filter(function(item) {
return item !== value
})
console.log(arr)
// [ 1, 2, 4, 5 ]
आइटम निकालना (ECMAScript 6 कोड)
let value = 3
let arr = [1, 2, 3, 4, 5, 3]
arr = arr.filter(item => item !== value)
console.log(arr)
// [ 1, 2, 4, 5 ]
महत्वपूर्ण ECMAScript 6 "() => {}" तीर फ़ंक्शन सिंटैक्स इंटरनेट एक्सप्लोरर में बिल्कुल भी समर्थित नहीं है, क्रोम 45 संस्करण से पहले, 22 संस्करण से पहले फ़ायरफ़ॉक्स और 10 संस्करण से पहले सफारी। पुराने ब्राउज़र में ECMAScript 6 सिंटैक्स का उपयोग करने के लिए आप BabelJS का उपयोग कर सकते हैं ।
एकाधिक आइटम निकालना (ECMAScript 7 कोड)
इस पद्धति का एक अतिरिक्त लाभ यह है कि आप कई वस्तुओं को हटा सकते हैं
let forDeletion = [2, 3, 5]
let arr = [1, 2, 3, 4, 5, 3]
arr = arr.filter(item => !forDeletion.includes(item))
// !!! Read below about array.includes(...) support !!!
console.log(arr)
// [ 1, 4 ]
महत्वपूर्ण "array.includes (...)" फ़ंक्शन इंटरनेट एक्सप्लोरर में बिल्कुल भी समर्थित नहीं है, क्रोम 47 संस्करण से पहले, 43 संस्करण से पहले फ़ायरफ़ॉक्स, 9 संस्करण से पहले सफारी, और 14 संस्करण से पहले एज इसलिए मोज़िला से पॉलीफ़िल है ।
कई वस्तुओं को हटाना (भविष्य में, शायद)
यदि "यह-बाइंडिंग सिंटैक्स" प्रस्ताव कभी स्वीकार किया जाता है, तो आप ऐसा कर पाएंगे:
// array-lib.js
export function remove(...forDeletion) {
return this.filter(item => !forDeletion.includes(item))
}
// main.js
import { remove } from './array-lib.js'
let arr = [1, 2, 3, 4, 5, 3]
// :: This-Binding Syntax Proposal
// using "remove" function as "virtual method"
// without extending Array.prototype
arr = arr::remove(2, 3, 5)
console.log(arr)
// [ 1, 4 ]
अपने आप को BabelJS में आज़माएं :)
संदर्भ