2016-02-29 55 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(",")) 

这也取决于你如何删除条目。如果你这样做了,长度保持不变,但还有其他方法可以改变阵列本身的长度,你需要检查它。