如果该行的所有元素都不都是值(NaN,null,未定义),如何删除该数组中的行?

用户名

请告诉我,如果该行的每个元素都不是值,如何删除2D数组中的整个行(如果为NaN,则删除;如果为null,则删除;如果未定义,则删除,依此类推...)。如果该行的至少一个元素是数字,字符串,布尔值或任何有意义的值,则将该行的每个元素保留在其位置上。

例如,在此数组中:

var array = [];

array[0] = [];
array[1] = [];
array[2] = [];

array[0][1] = "title";
array[0][2] = NaN;
array[0][3] = 3;

array[1][0] = 0;
array[1][1] = undefined;
array[1][2] = null;
array[1][3] = 3;

array[2][0] = "title";
array[2][1] = 1;
array[2][2] = undefined;
array[2][3] = "url";

console.log(array);

删除array [0] [2],array [1] [2],array [2] [2]。预期结果是:

[[undefined,“ title”,3],[0,undefined,3],[“ title”,1,“ url”]]

妮娜·斯科茨(Nina Scholz)

您可以先获取列,然后拼接数组。

var array = [
        [, "title", NaN, 3],
        [0, undefined, null, 3],
        ["title", 1, undefined, "url"]
    ],
    indices = array
        .reduce((r, a) => {
            a.forEach((v, i) => r[i] = r[i] || !isNaN(v) && v !== null);
            return r;
        }, [])
        .reduceRight((r, v, i) => (v || r.push(i), r), []);

array.forEach(a => indices.forEach(i => a.splice(i, 1)));

console.log(indices);
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

删除数组中的所有元素 - 函数在数组末尾附加“未定义”

如果此列中的所有值都是特定值,则从数据框中删除该列

如果行(或列)中的所有值都不满足给定条件,则删除对称数组中的行和列

如果值未定义,如何从嵌入中删除字段?

define()中的所有模块都是未定义的

从数组中删除未定义的元素

从数组中删除未定义的值

从数组中删除未定义的值

从数组中删除未定义的值

如果R中的所有值都是NA,如何选择具有最大值的行

如果数组元素未定义,则设置null(默认值)

使用console.log打印数组元素后未定义?似乎只有在删除该行之后才能定义。(JavaScript)

如何确保数组中的所有元素都是唯一的?

如果该行中的元素不满足某些条件,如何从二维数组中删除特定行?

是否有更紧凑的方法来映射指定键的值,从结果数组中删除所有未定义的值并从中获取唯一值

从数组中删除元素时,id未定义

angularjs删除数组中的未定义元素

如果该对象中的所有值都为 0,如何删除该对象

从多个 JSON 对象中查找 JSON 数组元素值为 null 或未定义

如何从数组中的对象和元素中删除未定义的属性

如何以角度从数组内的数组中删除未定义/空值

如果未定义,如何从多个对象中删除属性?

如何在JS的深层对象/数组中保留除“未定义”以外的所有值?

如何用“-”替换数组中所有未定义的值?

如果没有jQuery,我该如何有选择地删除数组中存在的元素?

数组元素的未定义值

如何使用角度从数组中删除未定义的对象?

Python 检查列表中的所有元素是否都是 Nan

如果所有值都是特定字符串,则删除pandas数据框中的列