我有一個數組,我用範圍滑塊過濾。如果特定選定參數的值在用戶設置的最小值(tMin)和最大值(tMax)值內,則將其添加到新數組(myNewArray)中,並以我需要的方式重新格式化它。超出範圍的任何內容都不會添加到此新陣列中。這部分工作得很好。範圍過濾和拼接陣列
我似乎無法工作的事情是我有一個單獨的數組(myOtherArray)格式與myArray完全一樣,但不是重新格式化它,我只需要刪除行,如果它不掉在範圍之內。 myOtherArray應該與myNewArray具有相同的值和行數,但它們的格式不同。我在這裏做錯了什麼?
myArray.map(function (dataPoint, index) {
if (index > 0) {
dataPoint.map(function (value, column) {
// this first part works fine
if (dataPoint[paramToFilter] >= tMin && dataPoint[paramToFilter] <= tMax) {
myNewArray[column] ? myNewArray[column].push(+value) : myNewArray[column] = [+value]
}
// this is what I cannot get to work
if (dataPoint[paramToFilter] < tMin || dataPoint[paramToFilter] > tMax) {
myOtherArray.splice(index, 1);
}
})
}
})
謝謝!!
爲什麼你使用'Array.map'也不回什麼? – adeneo 2014-11-08 16:10:31
顯然他不知道'Array.forEach'。 – Barmar 2014-11-08 16:11:44
@Barmar - 或者他可以返回true或false來映射出一個新的數組,而不是在循環中使用push,splice和whatnot? – adeneo 2014-11-08 16:14:07