2016-02-29 54 views
0

我只是有一些函數從數組中刪除元素,有沒有什麼辦法可以在沒有元素的時候獲得數組的初始內容? 我知道我必須使用獲取數組的初始內容

if(array.length=0){ 
} 

但它打敗我把什麼花braces.I've內試圖創造出複製的第一個數組,然後執行功能分配我的空數組後在複製一個,但它沒有工作

+2

數組的內容是什麼*如果*裏面沒有元素? –

+0

如果數組中沒有元素,則沒有內容...對嗎? –

+0

你的問題到底是什麼?初始價值是什麼意思? –

回答

0

我想你可以做到這一點定義VAR上的

function var car =""; 
if(array.length =0){ 
// do your operation cars = new Array("Saab", "Volvo", "BMW") 
    enter code here; 
}` 
// you can get get data console.log(cars); 
0

頂部試試這個:

var copyOfArray = array.slice(0); //Returns a copy of all the elements in array 

if(!array.length){ 
    array = copyOfArray.slice(0); 
} 

如果陣列包括您使用以下方法來獲取值僅(而不是函數)對象:如果你想你需要做一個所謂的深拷貝一個數組的副本

var clonedArray = JSON.parse(JSON.stringify(nodesArray)); 
+0

我試過了,但它似乎當第一個數組正在改變時,分配一個也在改變,並且在函數結束時它們都是空的 – Igor

+0

對不起。我只是修復了我的迴應。 –

+0

這似乎是這樣的作品!剩下的只有一個問題,但這是無關緊要的,無論如何都要感謝) – Igor

0

var a = [11,22,33,44,55,66,77,88,99]; 
var a_copy = a; 
var a_backup = []; 
console.log("original length = " + a.length) 
for(var i = 0;i<a.length;i++){ 
    a_backup[i] = a[i]; 
} 
for(var i = 0;i<a.length;i++){ 
    a[i] = undefined; 
} 
console.log("original = " + a.join(",")) 
console.log("copy  = " + a_copy.join(",")) 
console.log("backup = " + a_backup.join(",")) 
console.log("original length now = " + a.length) 
for(var i = 0;i<a_backup.length;i++){ 
    a[i] = a_backup[i]; 
} 
console.log("restored = " + a.join(",")) 

這也取決於你如何刪除條目。如果你這樣做了,長度保持不變,但還有其他方法可以改變陣列本身的長度,你需要檢查它。