ජාවාස්ක්රිප්ට් අරා සහ වස්තු වලින් අප දන්නා පරිදි , නමුත් මුල් අරාව පසුව වෙනස් නොකර අරාව පිටපත් කළ හැකි ක්රම මොනවාද?
එය කළ හැකි ක්රම කිහිපයක් මෙන්න:
ඔබේ කේතය තුළ මෙම අරාව අප සතුව ඇතැයි සිතන්න:
var arr = [1, 2, 3, 4, 5];
1) ශ්රිතයක අරාව හරහා විවර වී නව අරා එකක් නැවත එවන්න,
function newArr(arr) {
var i=0, res = [];
while(i<arr.length){
res.push(arr[i]);
i++;
}
return res;
}
2) පෙති ක්රමය භාවිතා කිරීම, පෙත්ත යනු අරාවෙහි කොටසක් කැපීම සඳහා වන අතර, එය මුල් පිටපතට අත නොතබා ඔබේ අරාවෙහි යම් කොටසක් කපා දමනු ඇත, පෙත්තෙහි, අරාවෙහි ආරම්භය සහ අවසානය සඳහන් නොකරන්නේ නම්, එය මුළු පෙත්තම කපයි අරාව සහ මූලික වශයෙන් අරාවෙහි සම්පූර්ණ පිටපතක් සාදන්න, එවිට අපට පහසුවෙන් කිව හැකිය:
var arr2 = arr.slice(); // make a copy of the original array
3) එසේම සම්බන්ධතා ක්රමය, මෙය අරාව දෙකක් ඒකාබද්ධ කිරීම සඳහා වේ, නමුත් අපට අරා වලින් එකක් පමණක් නියම කළ හැකි අතර පසුව මෙය මූලික වශයෙන් නව සම්බන්ධිත අරාවෙහි අගයන්හි පිටපතක් සාදයි:
var arr2 = arr.concat();
4) එසේම දැඩි හා විග්රහ කිරීමේ ක්රමය නිර්දේශ නොකරයි, නමුත් අරාව සහ වස්තු පිටපත් කිරීමට පහසු ක්රමයක් විය හැකිය:
var arr2 = JSON.parse(JSON.stringify(arr));
5) Array.from ක්රමයට, මෙය පුළුල් ලෙස සහාය නොදක්වයි, භාවිතයට පෙර විවිධ බ්රව්සර්වල සහාය පරීක්ෂා කරන්න:
const arr2 = Array.from(arr);
6) ECMA6 මාර්ගය, පූර්ණ සහය නොදක්වයි, නමුත් ඔබට පාරදෘශ්ය කිරීමට අවශ්ය නම් බාබෙල්ජේ ඔබට උදව් කළ හැකිය:
const arr2 = [...arr];
slice
සහsplice
මෙහෙයුම් හා නව පැතිර සමාගම සහArray.from
වේගය බෙහෙවින් අඩු ක්රියාත්මක වෙනවා. සලකා බලන perfjs.fnfo