var a = [];var b = [{a:1},{b:2},{c:3}];我绑定了一个点击事件,每一个点击事件点击后会传一个str到函数里。这个str是b数组中的对象,对象又和点击事件一一对应。然后我想当点击时,a数组插入str同时b数组删除str。简单的push、pop是不能满足这样的需求,有其他方法实现这样的逻辑吗?
1 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
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]);
添加回答
举报
0/150
提交
取消