Javascript 尝试基于两个旧数组获取新数组,但出现以下错误:。push不是函数

Javascript 尝试基于两个旧数组获取新数组,但出现以下错误:。push不是函数,javascript,Javascript,我正在尝试在两个旧阵列的基础上创建一个新阵列。所以我有故事词数组和不必要的词数组。我想制作一个新的betterwords数组,它基于从storywords中去掉不需要的单词。我的代码如下: let betterWords = []; for (let u_words_i = 0; u_words_i < unnecessaryWords.length; u_words_i++) { for (let story_i = 0; story_i < storyWords.lengt

我正在尝试在两个旧阵列的基础上创建一个新阵列。所以我有故事词数组和不必要的词数组。我想制作一个新的betterwords数组,它基于从storywords中去掉不需要的单词。我的代码如下:

let betterWords = [];

for (let u_words_i = 0; u_words_i < unnecessaryWords.length; u_words_i++) {
  for (let story_i = 0; story_i < storyWords.length; story_i++) {
    if (storyWords[story_i] != unnecessaryWords[u_words_i]) {
    betterWords = betterWords.push(storyWords[story_i]);
  }
  }
};
console.log(betterWords);
让betterWords=[];
for(设u_words_i=0;u_words_i<不必要的words.length;u_words_i++){
for(让故事i=0;故事i
@ggorlen是对的。推送后不需要分配

我还想对你的代码做一个简短的评论。可以对其进行改进,使其更具可读性,如下所示:

const betterWords=storyWords.filter(word=>!不必要的words.includes(word));

欢迎来到SO
betterWords=betterWords.push(storyWords[story_i])
应该是
betterWords.push(storyWords[story_i])
push
返回一个数字,这样会覆盖数组,然后您尝试调用
number.push
。好的,但不是。push假设将一项添加到数组的最后一部分?您能指定为什么说push返回一个数字吗?根据:“push方法向数组追加值。返回值:调用该方法的对象的新长度属性。”