Javascript JS-从数组中删除对象

Javascript JS-从数组中删除对象,javascript,Javascript,我想从我的表/数组中删除一个对象(索引) var item = [ {name:'test1',variable:20}, {name:'test2',variable:20}, {name:'test3',variable:20}, {name:'test4',variable:20}, {name:'test5',variable:20}, {name:'test6',variable:20}, {name:'test7',variable:20}, {name:'test8',variab

我想从我的表/数组中删除一个对象(索引)

var item = [
{name:'test1',variable:20},
{name:'test2',variable:20},
{name:'test3',variable:20},
{name:'test4',variable:20},
{name:'test5',variable:20},
{name:'test6',variable:20},
{name:'test7',variable:20},
{name:'test8',variable:20}]
例如,我想删除对象编号2(item.name=test3),如何删除?

您只需调用:

delete item[2]
另一个选择

item = item.filter(e=>e.name!=="test3")
您可以使用
splice()
findIndex()
方法

var item=[{name:'test1',variable:20},{name:'test2',variable:20},{name:'test3',variable:20},{name:'test4',variable:20},{name:'test5',variable:20},{name:'test6',variable:20},{name:'test7',variable:20},{name:'test8',variable:20}]
item.splice(item.findIndex(({name})=>name=='test3'),1);

console.log(item)
您也可以使用splice,但要小心,因为它会修改实际阵列

var项=[
{name:'test1',变量:20},
{name:'test2',变量:20},
{name:'test3',变量:20},
{name:'test4',变量:20},
{name:'test5',变量:20},
{name:'test6',变量:20},
{name:'test7',变量:20},
{名称:'test8',变量:20}]
项目.拼接(2,1)

console.log(item)
您希望阵列中的其余对象发生什么情况?你是想让他们保持指数不变,还是想让他们向下移动以填补缺口?我想设定新的指数数量我不明白你为什么向下预测,没有关于删除数组中对象的给定属性的索引的问题。如果OP希望从数组中删除in对象,即
{name:'test1',variable:20},您是否尝试了实际数组的解决方案,
或object数组中给出的任何其他类似内容。为请求示例执行更新是一个逻辑问题。我对有问题的示例链接进行了更新:
function remove(array, element) {
    return array.filter(e => e !== element);
}

const vowelsAndX = ["a", "e", "i", "o", "u", "x"];
const vowels = remove(vowelsAndX, "x");
vowels.toString(); // "a,e,i,o,u"

----------------------------------------------------------------------------


var item = [
    {name:'test1',variable:20},
    {name:'test2',variable:20},
    {name:'test3',variable:20},
    {name:'test4',variable:20},
    {name:'test5',variable:20},
    {name:'test6',variable:20},
    {name:'test7',variable:20},
    {name:'test8',variable:20}];

    function remove(array, element) {
        return array.filter(e => e !== element);
    }

    const restOfItems = remove(item, item[0]);
    console.log(restOfItems)
var item = [
{name:'test1',variable:20},
{name:'test2',variable:20},
{name:'test3',variable:20},
{name:'test4',variable:20},
{name:'test5',variable:20},
{name:'test6',variable:20},
{name:'test7',variable:20},
{name:'test8',variable:20}]

//removing 1 element from number 2
var removeObj = item.splice(2,1);

console.log(item);