Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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_Html - Fatal编程技术网

Javascript 在单击按钮时删除数组项

Javascript 在单击按钮时删除数组项,javascript,html,Javascript,Html,如何在单击时删除项目?这就是我目前拥有的: 函数deleteUser(名称){ var person=姓名; 常量数组=['John','Mark','Andy']; const index=array.indexOf(person); 如果(索引>-1){ 阵列拼接(索引1); } console.log(数组); } 删除用户 删除用户 删除用户可能您可以在函数外部定义数组,并使用它删除项目。重要的是,.filter()创建一个新数组,因此需要在函数中重新指定结果。请参阅文档中的: fil

如何在单击时删除项目?这就是我目前拥有的:

函数deleteUser(名称){
var person=姓名;
常量数组=['John','Mark','Andy'];
const index=array.indexOf(person);
如果(索引>-1){
阵列拼接(索引1);
}
console.log(数组);
}
删除用户
删除用户

删除用户
可能您可以在函数外部定义
数组
,并使用它删除项目。重要的是,
.filter()
创建一个新数组,因此需要在函数中重新指定结果。请参阅文档中的:

filter()
方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素

请尝试以下操作:

let数组=['John','Mark','Andy'];
const deleteUser=name=>{
array=array.filter(e=>e!==name);
console.log(数组);
}
删除用户
删除用户

删除用户
您需要在函数外部定义数组,否则每次都会重新初始化它

此外,filter方法是一个很好的函数,但是如果您愿意,您仍然可以使用splice来实现,只要您将数组保留在函数之外

var数组=['John','Mark','Andy'];
函数deleteUser(名称){
array=array.filter(n=>n!==name);
console.log(数组);
}
删除用户John
删除用户标记

删除用户Andy
那么您想用deletedUsers创建一个数组?无论何时删除某人,您都会将该用户推入deletedUsers阵列。请注意,
indexOf
plus
splice
更有效。它不会创建新数组,并在找到单个匹配项后停止迭代。
filter
解决方案在我看来更具可读性。最终它归结为首选项。@3limin4t0r值得注意的是,我不知道性能。谢谢