首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用函数检查项目是否在数组中,然后从数组中删除该项。

使用函数检查项目是否在数组中,然后从数组中删除该项。
EN

Stack Overflow用户
提问于 2019-09-09 04:40:15
回答 2查看 60关注 0票数 0

我创建了一个函数,该函数将检查项目是否在先前创建的数组中,如果是,它们不仅会将它们返回到新数组,而且会从旧数组中删除它们,并将它们替换为新项。

我试过使用splice方法,但没有得到正确的结果。

代码语言:javascript
复制
let valuables = ['dilithium', 'gold', 'AE-35 unit', 'Legos', 'TI-89 calculator'];
let deckMops = function(itemArray){
  let emptyArray = [];
  for (i = 0; i < itemArray.length; i++)
    if (valuables.includes(itemArray[i])){
      emptyArray.push(itemArray[i]);
    }
    return emptyArray;
};
console.log(deckMops(['food', 'gold', 'Legos', 'air']));
console.log(valuables);

预期产出

  • 该函数替换了'gold''Legos'中的arr = ['food', 'gold', 'Legos', 'air']
  • 调用函数之后,valuables.includes('gold')valuables.includes('Legos')应该是false
  • arr.length应该是4
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-09 04:56:39

如果目标是删除元素,则每次从valuables中找到元素时,在将元素推送到emptyArray之后,都可以使用indexOf

代码语言:javascript
复制
let valuables = ['dilithium', 'gold', 'AE-35 unit', 'Legos', 'TI-89 calculator'];
let deckMops = function(itemArray){
  let emptyArray = [];
  for (i = 0; i < itemArray.length; i++)
    if (valuables.includes(itemArray[i])){
      emptyArray.push(itemArray[i]);
      valuables.splice(valuables.indexOf(itemArray[i]), 1);
    }
    return emptyArray;
};
console.log(deckMops(['food', 'gold', 'Legos', 'air']));
console.log(valuables);

票数 0
EN

Stack Overflow用户

发布于 2019-09-09 04:57:30

您可以使用itemArrayincludes() (并将其存储在名为ret的变量中)从valuables中筛选出任何项,然后将valuables重新分配为等于已过滤的valuables版本,后者不再包括在ret中找到的项,如下所示:

代码语言:javascript
复制
let valuables = ['dilithium', 'gold', 'AE-35 unit', 'Legos', 'TI-89 calculator'];
const deckMops = function(itemArray) {
  const ret = itemArray.filter(x => valuables.includes(x));
  valuables = valuables.filter(x => !ret.includes(x));
  return ret;
};
console.log(deckMops(['food', 'gold', 'Legos', 'air']));
console.log(valuables);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57847959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档