Javascript拼接并放入另一个数组

时间:2013-10-24 22:03:36

标签: javascript arrays push splice

我正在制作一款游戏,要求我从数组中取出一个对象并将其放入另一个数组中。

a = obj;
array1.splice(a);
array2.push(a);

(a已经在array1中)

这就是我需要发生的事情。

我不是专家所以请深入解释你的答案:)

任何帮助都会有很大帮助!

2 个答案:

答案 0 :(得分:2)

Javascript Array Splice()方法的工作原理如下......

方法Array.splice(索引,的howmany)

需要删除项目的索引号,要删除的项目数量,以及这两项是必需的。

有关详情,请点击以下链接:http://www.w3schools.com/jsref/jsref_splice.asp

所以,你的问题可以解决如下......

a = obj;
var index = array1.indexOf(a);
array1.splice(index,1);
array2.push(a);

答案 1 :(得分:1)

splice(start, ?deleteCount) 函数用于获取数组中的一个或多个元素,并从数组中删除选中的元素。

slice(?start, ?end) 切片检索所选元素而不更改数组。

例如我有这个数组:

const months = ['Jan', 'March', 'April', 'June'];

let selectedElementsWithSlice = months.slice(2, 3);
//["April"]
// months = ['Jan', 'March', 'April', 'June']

let selectedElements = months.splice(2, 1); // removed from array months
//["April"]
// months = ['Jan', 'March', 'June']

对于您的主题,您希望将元素复制到其他数组。

您有多个解决方案:

  1. 对于选择的第一个元素(必要时检查是否包含)
array.push(months.slice(2, 3)[0]);
  1. 对于所有选定的元素
[ ... array, ... months.slice(2, 3) ]

参考资料:

拼接文档:https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

切片文档: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/slice