Rumah > Soal Jawab > teks badan
Dalam kod, array arr=[1,2,3] diperolehi;
Oleh kerana ia akan dimusnahkan serta-merta, ia tidak boleh diberikan terus kepada objek Obj.a.
Cara menulis jquery dalam kes ini supaya Obj .a= selepas arr dimusnahkan?
仅有的幸福2017-07-05 11:06:38
Secara amnya, jarang ditemui "musnah" dalam JS. Kemudian, saya tidak faham apa yang anda maksudkan dengan kemusnahan segera?
Jika ia merujuk kepada delete arr
, maka tiada masalah dengan tugasan langsung, seperti yang ditunjukkan di bawah:
Jika anda ingin berubah arr
的内容。那么可以复制一个数组(有几种方法,concat
Ia hanya salah satu daripadanya)
Obj.a = [].concat(arr);
Jika anda benar-benar memerlukan salinan dalam, jQuery.fn.clone(), tetapi ia nampaknya mempunyai beberapa sekatan.
Untuk data lain, masih agak sukar dan menyusahkan untuk menulis salinan mendalam sendiri. Lebih baik gunakan cloneDeep() Lodash
PHP中文网2017-07-05 11:06:38
Salin tatasusunan:
obj.a = arr.slice();
obj.a = JSON.parse(
JSON.stringify(arr)
);
巴扎黑2017-07-05 11:06:38
Saya tidak faham apa yang anda maksudkan dengan memusnahkannya. . . .
Bagi salinan dalam:
function cloneObj(obj){
if( !obj || typeof obj == "string" ){
return obj;
} else if ( obj instanceof Array ){
return [].concat(obj);
} else {
var tempObj = {};
for( var key in obj ){
tempObj[key] = cloneObj(obj[key]);
}
return tempObj;
}
}
滿天的星座2017-07-05 11:06:38
Jika anda menggunakan ES2015, anda boleh menggunakan operator penyebaran objek untuk menyalin.
obj.a = [...arr]