如何向数组添加、删除指定的对象

var a = [];

var b = [{a:1},{b:2},{c:3}];

我绑定了一个点击事件,每一个点击事件点击后会传一个str到函数里。这个str是b数组中的对象,对象又和点击事件一一对应。然后我想当点击时,a数组插入str同时b数组删除str。简单的push、pop是不能满足这样的需求,有其他方法实现这样的逻辑吗?


FFIVE
浏览 946回答 1
1回答

慕尼黑的夜晚无繁华

js数组操作中的splice方法,可以从某个位置开始替换(删除)指定数量元素,并且返回被替换(删除)的元素。这个方法基本可以进行一切的数组操作,可能需要小心的一点就是其返回的也是一个数组。MDN简单demo如下,情况是为每次只操作一个元素。var a = [];var b = [{a:1},{b:2},{c:3}];var str = b[1];var index = b.indexOf(str); // 注意,如果str为{b:2}的话则不生效,因为obj除非引用一致以外不相等。a.push(b.splice(index, 1)[0]);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript