如何删除“;整数“;JavaScript中对象的数组

How to remove "integer" array from object in JavaScript

本文关键字:JavaScript 对象 数组 整数 何删除 删除      更新时间:2023-09-26

我得到了这个输入

    var input=[ "Axel",
                4,
                4.21,
                { name : 'Bob', age : 16 },
                { type : 'fish', model : 'golden fish' },
                [1,2,3],
                "John",
                { name : 'Peter', height: 1.90}          ];

结果必须是这一个

    [ { name : 'Bob', age : 16 },
      { type : 'fish', model : 'golden fish' },        
      { name : 'Peter', height: 1.90}            ];

使用Array.prototype.filter,只保留不是阵列的对象

var input = ["Axel",
    4,
    4.21,
    {name: 'Bob', age: 16},
    {type: 'fish', model: 'golden fish'},
    [1, 2, 3],
    "John",
    {name: 'Peter', height: 1.90}
];
input = input.filter(function (e) {
    return (typeof e === 'object') && !Array.isArray(e);
}); /*
[
    {"name": "Bob", "age": 16},
    {"type": "fish", "model": "golden fish"},
    {"name": "Peter", "height": 1.9}
]
*/

尝试使用数组过滤器来删除不需要的元素。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

删除所有整数

var filteredList = input.filter(function(val) {
    return isNaN(val);
}):
/*
filteredList is now =
{ name: 'Bob', age: 16 },
{ type: 'fish', model: 'golden fish' },
[ 1, 2, 3 ],
'John',
{ name: 'Peter', height: 1.9 } ]
*/