需要遍历存储在变量中的单词数组。我创建了Array.prototype.findWord,以便可以在程序中的任何数组中搜索任何单词。
我让我的findWord(str,arr)将字符串和数组作为参数。然后我遍历了传递的数组。如果传递的字符串与数组中的字符串匹配,它将记录该字符串。
Array.prototype.findWord = function(str, arr) {
// let returnWord = "";
str = "";
arr = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] === str) {
return str;
}
}
这通过未定义。
答案 0 :(得分:1)
如果我正确理解了您的问题,则想返回数组中的第一个匹配项。由于您正在创建原型方法,因此不需要将数组作为参数传递。在类的实例(在本例中为数组)上调用原型方法。因此,您将这样调用方法:
['lorem', 'ipsum', 'dolor'].findWord('ipsum');
原型方法将需要重写引用this
,而不是传递的arr
。
Array.prototype.findWord = function(str) {
for (let i = 0; i < this.length; i++) {
// if they match
if (this[i] === str) {
return str;
}
}
}
希望这会有所帮助。
答案 1 :(得分:0)
在决定扩展数组原型之前,请先阅读JavaScript: What dangers are in extending Array.prototype?
如果您决定以任何方式扩展它,则将其称为myArray.findWords('word')
数组本身现在是函数的this
。希望有帮助
Array.prototype.findWord = function(str) {
for (let i = 0; i < this.length; i++) {
if (this[i] === str) {
return str
}
}
}
let myArray = ['one', 'two', 'three']
myArray.find('one')
myArray.find('x')