使用Javascript的过滤功能

Ash*_*lly 0 javascript arrays filter

我会尽力说出这一点 - 感谢您的帮助.

我有一个包含一系列邮政编码的数组,(例如六个)其中一个是空的.使用javascripts过滤器函数,我使用以下代码删除了空元素:

var filteredrad = radius1.filter(function(val) {
  return !(val === "" || typeof val == "undefined" || val === null);
});
Run Code Online (Sandbox Code Playgroud)

现在我需要以某种方式存储从原始数组中删除哪个元素的索引,但我不确定如何.

例如,过滤器将删除索引1处的空间.如何保存该号码以便稍后使用?

["WC1A 1EA", "", "B68 9RT", "WS13 6LR", "BN21TW", "wv6 9ex"] 
Run Code Online (Sandbox Code Playgroud)

希望有意义,任何帮助都将不胜感激.

阿什利

小智 5

您可以使用一个副作用,使用filter第二个参数:

var removed = [];
var filteredrad = radius1.filter(function(val, index) {
    if (val === "" || typeof val == "undefined" || val === null) {
        removed.push(index);
        return false;
    }
    return true;
});
Run Code Online (Sandbox Code Playgroud)