需要遍历存储在变量中的单词数组。我创建了一个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;
}
}
这将传递未定义。
如果我正确理解您的问题,您希望返回数组中的第一个匹配项。 由于您正在创建原型方法,因此不需要将数组作为参数传递。原型方法是在类的实例上调用的,在本例中为数组。 因此,您将像这样调用该方法:
['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;
}
}
}
希望这有帮助。
请阅读 JavaScript:在决定扩展 Array 原型之前,扩展 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')