我只是有一些从数组中删除元素的函数,有什么方法可以在没有元素的情况下获取数组的初始内容? 我知道我必须使用
if(array.length=0){
}
但它击败了我在花括号中放入的内容。我试图创建一个复制第一个数组的数组,然后在实现将空数组分配给重复的数组之后,但它没有&# 39;工作
答案 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);
答案 1 :(得分: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));
答案 2 :(得分: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(","))
这还取决于您删除条目的方式。如果你这样做了,长度保持不变,但还有其他方法可以改变数组本身的长度,你需要检查它。