Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从数组的数组中删除_Javascript_Arrays - Fatal编程技术网

Javascript 从数组的数组中删除

Javascript 从数组的数组中删除,javascript,arrays,Javascript,Arrays,我试图用js从数组中删除某些项 这是我的数组 [ { "Pizza": "Margarita", "Size": "Twelve Inch Stuffed Crust", "Base": "Deep Base", "Price": "6.50" }, { "Pizza": "Hot Vegetarian", "Size": "Twelve Inch", "Bas

我试图用js从数组中删除某些项

这是我的数组

[
    {
        "Pizza": "Margarita",
        "Size": "Twelve Inch Stuffed Crust",
        "Base": "Deep Base",
        "Price": "6.50"
    },
    {
        "Pizza": "Hot Vegetarian",
        "Size": "Twelve Inch",
        "Base": "Deep Base",
        "Price": "6.00"
    },
    {
        "Pizza": "Vegetarian",
        "Size": "Ten Inch Stuffed Crust",
        "Base": "Deep Base",
        "Pricelabel": "Price",
        "Price": "6.50"
    },
    {
        "Pizza": "Hot Vegetarian",
        "Size": "Fourteen Inch Stuffed Crust",
        "Base": "Deep Base",
        "Pricelabel": "Price",
        "Price": "10.50"
    }
]
在我的屏幕上有4个删除按钮,分别称为“deletebutton\u 0、deletebutton\u 1、deletebutton\u 2、deletebutton\u 4”

例如,如果我单击deletebutton_0,js将从数组中删除第一项的所有详细信息

{"Pizza":"Margarita","Size":"Twelve Inch Stuffed Crust","Base":"Deep Base","Price":"6.50"}
我是js的nob,仍在学习。

您想要使用,如下所示:

array.splice(index, 1);
根据单击的按钮设置索引。

您要使用的,如下所示:

array.splice(index, 1);
根据单击的按钮设置索引。

尝试

array.splice(index,1)
其中
array
是您的数组,
index
是您要删除的对象索引


array.splice(index,1)
其中
array
是您的数组,
index
是您要删除的对象的索引

嗯,有几个选项可以从数组中删除项

如果您的项目是第一个项目,则可以使用
Array.prototype.

如果这是最后一项,您可以使用
Array.prototype.

您可以使用
myArray[0];
简单地删除
0
属性,但这不会重新索引数组

通常,您将使用
Array.prototype.
从特定位置/在特定位置从数组中删除/插入项,即:

myArray.splice(0, 1); // removes 1 item starting at index 0
下面是一个使用
拼接的示例:

var数据=[{
“披萨”:“玛格丽塔”,
“大小”:“12英寸填充外壳”,
“基地”:“深基地”,
“价格”:“6.50”
}, {
“披萨”:“热素食者”,
“尺寸”:“十二英寸”,
“基地”:“深基地”,
“价格”:“6.00”
}, {
“披萨”:“素食者”,
“大小”:“10英寸填充外壳”,
“基地”:“深基地”,
“价格标签”:“价格”,
“价格”:“6.50”
}, {
“披萨”:“热素食者”,
“大小”:“14英寸填充外壳”,
“基地”:“深基地”,
“价格标签”:“价格”,
“价格”:“10.50”
}];
//为删除按钮创建单击处理程序
函数处理程序(e){
//获取数组索引
var index=parseInt(this.id.split(“”)[1],10);
//获取下一个兄弟姐妹以重新编制索引
var sibling=this.nextElementSibling;
//从DOM中删除按钮
this.parentNode.removeChild(this);
//从数组中删除项
var removedItems=数据拼接(索引1);
//重新索引剩余按钮
做{
sibling.textContent=sibling.id=“deletebutton”+索引;
}while(index++,sibling=sibling.nextElementSibling);
//日志信息
console.log(“剩余项:%o,删除项:%o”,data.length,删除项[0]);
}
//获取对按钮的引用
var buttons=document.queryselectoral(“按钮”);
//将事件处理程序添加到按钮中
Array.prototype.forEach.call(按钮,b=>b.addEventListener(“单击”,处理程序));
deletebutton\u 0
删除按钮1
删除按钮2

deletebutton_3
好吧,有几个选项可以从数组中删除项

如果您的项目是第一个项目,则可以使用
Array.prototype.

如果这是最后一项,您可以使用
Array.prototype.

您可以使用
myArray[0];
简单地删除
0
属性,但这不会重新索引数组

通常,您将使用
Array.prototype.
从特定位置/在特定位置从数组中删除/插入项,即:

myArray.splice(0, 1); // removes 1 item starting at index 0
下面是一个使用
拼接的示例:

var数据=[{
“披萨”:“玛格丽塔”,
“大小”:“12英寸填充外壳”,
“基地”:“深基地”,
“价格”:“6.50”
}, {
“披萨”:“热素食者”,
“尺寸”:“十二英寸”,
“基地”:“深基地”,
“价格”:“6.00”
}, {
“披萨”:“素食者”,
“大小”:“10英寸填充外壳”,
“基地”:“深基地”,
“价格标签”:“价格”,
“价格”:“6.50”
}, {
“披萨”:“热素食者”,
“大小”:“14英寸填充外壳”,
“基地”:“深基地”,
“价格标签”:“价格”,
“价格”:“10.50”
}];
//为删除按钮创建单击处理程序
函数处理程序(e){
//获取数组索引
var index=parseInt(this.id.split(“”)[1],10);
//获取下一个兄弟姐妹以重新编制索引
var sibling=this.nextElementSibling;
//从DOM中删除按钮
this.parentNode.removeChild(this);
//从数组中删除项
var removedItems=数据拼接(索引1);
//重新索引剩余按钮
做{
sibling.textContent=sibling.id=“deletebutton”+索引;
}while(index++,sibling=sibling.nextElementSibling);
//日志信息
console.log(“剩余项:%o,删除项:%o”,data.length,删除项[0]);
}
//获取对按钮的引用
var buttons=document.queryselectoral(“按钮”);
//将事件处理程序添加到按钮中
Array.prototype.forEach.call(按钮,b=>b.addEventListener(“单击”,处理程序));
deletebutton\u 0
删除按钮1
删除按钮2

deletebutton_3
Look up splice()--查找其索引并调用splice。相关:这是一个对象数组,顺便问一下……是否要缩短数组?是否要保留空(
null
未定义的
)插槽位于已删除项目的位置?或者是否要用没有详细信息的空对象替换其中的内容?只需使用
yourArray.splice(索引,1);
Look up splice()--查找其索引并调用拼接。相关:这是一个对象数组,顺便说一句……是否要缩短该数组?是否要保留空(
null
未定义
)插槽位于已删除项目的位置?或者是否要用没有详细信息的空对象替换其中的内容?只需使用yourArray.splice(索引,1)删除即可
Thx对于reply,我的问题是,当添加click事件时,我只有1个deletebutton,当调用服务时,它会根据需要为数组中的所有项目和deletebuttons _0、_1、_2创建列表,以便使用splice()方法我需要一些代码来识别哪个deletebutton被选中,并相应地删除。如果我不清楚,很抱歉