如何在Javascript中将值从一个数组移动到另一个数组?
假设我有两个数组如何在Javascript中将值从一个数组移动到另一个数组?,javascript,arrays,Javascript,Arrays,假设我有两个数组 var shoppingList = ["bread","milk"]; var boughtItems = []; 如果我想将一个项目从一个阵列移动到另一个阵列,我将如何进行 例如: function purchaseItem (item) { boughtItems.push( shoppingList.splice( shoppingList.indexOf( item ),1 ); } 您缺少了一个),而且您还需要像这样获得第一个项目 function pu
var shoppingList = ["bread","milk"];
var boughtItems = [];
如果我想将一个项目从一个阵列移动到另一个阵列,我将如何进行
例如:
function purchaseItem (item) {
boughtItems.push( shoppingList.splice( shoppingList.indexOf( item ),1 );
}
您缺少了一个)
,而且您还需要像这样获得第一个项目
function purchaseItem (item) {
boughtItems.push( shoppingList.splice( shoppingList.indexOf(item),1)[0]);
}
但是请记住数组是从索引
0
开始的,因此数组中的第一个索引是0
,下一个索引是1
,依此类推。为此,使用集合,它在逻辑上更加简洁,并且是常量插入/删除
var list = new Set(['bread', 'milk']);
var bought = new Set;
function purchaseItem(item) {
list.delete(item);
bought.add(item);
}
为什么不使用所需的项创建一个新数组?您可以使用filter
,因为它应该与您的一样,但为了可读性,我将推送/拼接操作分开。另外,我不知道您是否尝试了上面的代码,但缺少了一个括号。
var list = new Set(['bread', 'milk']);
var bought = new Set;
function purchaseItem(item) {
list.delete(item);
bought.add(item);
}