Javascript 在这里如何使用ES6代码而不是for循环?
我正在寻找更好的方法来处理数组的搜索。这就是我现在拥有的Javascript 在这里如何使用ES6代码而不是for循环?,javascript,for-loop,ecmascript-6,Javascript,For Loop,Ecmascript 6,我正在寻找更好的方法来处理数组的搜索。这就是我现在拥有的 function search (arr, word) { word = word.toUpperCase(); var res = []; for(var i = 0; i < arr.length; i++) { if(arr[i].slice(0, word.length) == word) { res.push(arr[i]); } } return res; } var m
function search (arr, word) {
word = word.toUpperCase();
var res = [];
for(var i = 0; i < arr.length; i++) {
if(arr[i].slice(0, word.length) == word) {
res.push(arr[i]);
}
}
return res;
}
var myArr = ["england", "China", "France", "Eng", "Ch", "Australia"];
search(myArr, "e");
函数搜索(arr,word){
word=word.toUpperCase();
var-res=[];
对于(变量i=0;i
它可以工作,但我想用ES6代码代替for循环,因为我正在尝试学习它。这里我如何使用ES6?您可以使用一些内置方法,例如和:
函数搜索(arr,word){
返回arr.filter(element=>element.toUpperCase().startsWith(word.toUpperCase());
}
const myArr=[“英国”、“中国”、“法国”、“英国”、“中国”、“澳大利亚”];
console.log(搜索(myArr,“e”)代码>您可以使用一些内置方法,例如和:
函数搜索(arr,word){
返回arr.filter(element=>element.toUpperCase().startsWith(word.toUpperCase());
}
const myArr=[“英国”、“中国”、“法国”、“英国”、“中国”、“澳大利亚”];
console.log(搜索(myArr,“e”)代码>es6
是规范,不是函数/方法调用。用es6
替换它是什么意思?不相关,但当您将单词转换为大写,而不是数组中的单词时,看起来有一个bug。例如,它不会为字母“e”返回“england”。@Polina您当前的代码只返回Eng
而不是england
什么是“更好”?虽然不是好看的解决方案,for
可能是最有效的解决方案。@Weedoze-Hmm。。。我认为这是我的repo-es6
是一个规范,而不是一个函数/方法调用。用es6
替换它是什么意思?不相关,但当您将单词转换为大写,而不是数组中的单词时,看起来有一个bug。例如,它不会为字母“e”返回“england”。@Polina您当前的代码只返回Eng
而不是england
什么是“更好”?虽然不是好看的解决方案,for
可能是最有效的解决方案。@Weedoze-Hmm。。。我觉得这是我的回购协议——谢谢,这正是我想要的!比我的代码短得多,好得多,非常感谢!感谢您对for循环的解释和评论!谢谢,这正是我想要的!比我的代码短得多,好得多,非常感谢!感谢您对for循环的解释和评论!