【发布时间】:2019-01-24 11:15:33
【问题描述】:
我需要从数组中删除一个元素并只返回剩余的元素。
我尝试使用splice 和filter,但无法正常工作。
splice 只返回删除的元素,我需要相反的。
var parse_obj = JSON.parse(document.getElementById('imagens').value);
function rImagem(data){
data = data - 1;
document.getElementsByClassName("btn_remover")[data].style.display = 'none';
parse_obj2 = parse_obj.splice(parse_obj.findIndex(e => e.data,1));
new_string = JSON.stringify(parse_obj2);
document.getElementById('imagens').value = new_string;
}
【问题讨论】:
-
为什么不直接使用
parse_obj?.splice()就地更改数组,因此一旦您运行parse_obj.splice,它将是删除项目的数组。 -
splice 返回移除的元素数组。你可以添加随机数据吗?过滤器应该工作
-
splice()方法从数组中返回删除的元素。您正试图在数组parse_obj2中分配这个已删除的元素。您应该做的不是为变量parse_obj2分配任何内容,而是按原样使用parse_obj数组。parse_obj.splice(parse_obj.findIndex(e => e.data,1));new_string = JSON.stringify(parse_obj2);
标签: javascript arrays