我正在使用Web的React&Firebase数据库。

在下面的代码中,dbRef指向包含字符串数组的Firebase数据库树。此数组的某些元素已被删除,这导致空索引。

[
  "0": "first",
  "1": "next",
  "6": "skipped indexes 2 - 5"
]


我目前正在做:

dbRef.set([...currentList, newItem])


但是,我想确保传递给set的数组没有任何null索引。在JS中执行此操作的最佳方法是什么? (如果有问题,我正在使用Babel)

最佳答案

您可以过滤掉不再存在的条目:

// In ES2015+
theArray = theArray.filter((_, index) => theArray.hasOwnProperty(index));

// In ES5 and earlier
theArray = theArray.filter(function(_, index) { return theArray.hasOwnProperty(index); });


例:



var theArray = ['a', 'b', 'c', 'd'];
delete theArray[2];
console.log("before", JSON.stringify(theArray));
theArray = theArray.filter((_, index) => theArray.hasOwnProperty(index));
console.log("after", JSON.stringify(theArray));

关于javascript - 如何在JavaScript数组中重置数组索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42304161/

10-11 07:00