আপনি এখানে একটি অ্যারের ক্লোন করতে পারেন Array#slice
:
console.log(s); // ["bye"], i.e. incorrect
console.log(s.slice()); // ["hi"], i.e. correct
এর পরিবর্তে আপনি যে ফাংশনটি ব্যবহার করতে পারেন console.log
তাতে এই সমস্যাটি নেই:
console.logShallowCopy = function () {
function slicedIfArray(arg) {
return Array.isArray(arg) ? arg.slice() : arg;
}
var argsSnapshot = Array.prototype.map.call(arguments, slicedIfArray);
return console.log.apply(console, argsSnapshot);
};
অবজেক্টের ক্ষেত্রে, দুর্ভাগ্যক্রমে, সেরা পদ্ধতিটি হ'ল প্রথমে একটি নন-ওয়েবকিট ব্রাউজারের সাথে ডিবাগ করা, বা ক্লোন করার জন্য একটি জটিল ফাংশন লিখতে দেখা যায়। আপনি যদি কেবল সরল অবজেক্টের সাথে কাজ করছেন, যেখানে কীগুলির ক্রম কোনও গুরুত্ব দেয় না এবং কোনও কার্যকারিতা নেই, আপনি সর্বদা এটি করতে পারেন:
console.logSanitizedCopy = function () {
var args = Array.prototype.slice.call(arguments);
var sanitizedArgs = JSON.parse(JSON.stringify(args));
return console.log.apply(console, sanitizedArgs);
};
এই সমস্ত পদ্ধতিগুলি স্পষ্টতই খুব ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে স্বাভাবিক console.log
।