如何重置JavaScript数组中的数组索引

时间:2017-02-17 17:36:16

标签: javascript reactjs web firebase firebase-realtime-database

我正在使用React&适用于网络的Firebase数据库。

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

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

我目前正在做:

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

但是,我想确保传递给set的数组没有任何null索引。 JS中最好的方法是什么? (如果重要,我会使用babel)

2 个答案:

答案 0 :(得分:2)

您可以过滤掉它不再拥有的条目:

// 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));

答案 1 :(得分:0)

简单方法

testArray.filter(function(val){return val});