मुझे पता है कि इस तरह के बहुत सारे विषय थे। और मैं मूल बातें जानता हूं: .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।