首页 > 解决方案 > 在数组中查找具有给定字母的单词

问题描述

我是编码新手,你能帮我处理这个小的 JavaScript 代码吗?我面临的问题是我无法控制台。记录 arr 数组中的单词

var arr =["wide","wiiii", "dwww", "not"]
var lett = ["i","w","d","e"]
var c = 0;
for(  i=0;i<arr.length;i++){
  for ( x=0;x<arr[i].length;x++){
    for (z=0;z<lett.length;z++){
      if (arr[i][x]==lett[z] ){
        c++
        if(c == lett.length-1){
          console.log(arr[i])
        }
      }
    }
    
  }
}

输出应该是这样的

wide
wiiii
dwww

@Vishnudev我发现了错误:你给我的代码记录了lett []中至少有一个字母的单词,这不是我想要的。看,如果在 words 数组中有 ["wide","wzzxx","this word has the letter j in it"] 你的代码给出这个输出:

wide
wzzxx
this word has the letter j in it

但我需要的是这个作为输出:

wide

标签: javascriptarrays

解决方案


Array.prototype.filter与_Array.prototype.every

const arr =["wide","wiiii", "dwww", "not"];
const lett = ["i","w","d","e"];

const values = arr.filter(word => word.split('').every(c => lett.includes(c)));

console.log(values.join('\n'));


推荐阅读