मुझे पता है कि इस तरह के बहुत सारे विषय थे। और मैं मूल बातें जानता हूं: .forEach()
मूल सरणी .map()
पर और नए पर काम करता है।
मेरे मामले में:
function practice (i){
return i+1;
};
var a = [ -1, 0, 1, 2, 3, 4, 5 ];
var b = [ 0 ];
var c = [ 0 ];
console.log(a);
b = a.forEach(practice);
console.log("=====");
console.log(a);
console.log(b);
c = a.map(practice);
console.log("=====");
console.log(a);
console.log(c);
और यह आउटपुट है:
[ -1, 0, 1, 2, 3, 4, 5 ]
=====
[ -1, 0, 1, 2, 3, 4, 5 ]
undefined
=====
[ -1, 0, 1, 2, 3, 4, 5 ]
[ 0, 1, 2, 3, 4, 5, 6 ]
मुझे समझ नहीं आ रहा है कि के practice
परिवर्तन मानों का उपयोग क्यों किया b
जाए undefined
।
मुझे खेद है कि अगर यह मूर्खतापूर्ण सवाल है, लेकिन मैं इस भाषा में काफी नया हूं और मुझे अब तक मिले जवाबों ने मुझे संतुष्ट नहीं किया है।
.map
एक नया सरणी देता है , जबकि.forEach
कुछ भी वापस नहीं करता है । मूल रूप से, यदि आप पिछले सरणी का संशोधित रूप प्राप्त करना चाहते हैं.map
, तो आप उपयोग करते हैं , यदि आप ऐसा नहीं चाहते हैं, तो आप उपयोग करते हैं.forEach
।