用于检查数组中是否存在元素的javascript自定义方法
javascript custom method for checking if element exists in array
我是javascript的新手,我刚刚经历了一些数组方法,并想使用它,我被我写的代码卡住了:
function customFindProperty(arrayToFind,requiredItem){
var elementIndex = 0;
function isRequiredItem(item){
elementIndex++;
return item==requiredItem;
}
elementFound = arrayToFind.some(isRequiredItem);
if(elementFound){
return arrayToFind(elementIndex);
} else{
alert("Element Not Found");
return undefined;
}
}
var myElement = customFindProperty([1,2,3,4,5],3);
这给了我一个错误TypeError:Object不是函数我想我甚至没有丢失任何分号。
其他信息:typeof customFindProperty
返回"功能"
备注不知道如何结束这个问题我找到了答案这是一个简单的打字错误我试图返回arrayToFind(elementIndex)而不是arrayToFind[elementIndex]
您使用的是括号而不是方括号进行数组访问。arrayToFind(elementIndex);
应该是arrayToFind[elementIndex];
。
return arrayToFind[elementIndex]
你在使用parens,就像你在调用一个函数一样。方形手镯用于阵列访问。
arrayToFind
-这是一个函数吗?事实并非如此,而你正试图称之为失败。
根据您在这里使用它的方式-arrayToFind.some
,我们可以假设它是一个数组,您需要用方括号对其进行索引以返回一个值,如下所示:
arrayToFind[elementIndex];
FYI,您可以进一步简化。。
var arr = [1,2,3,4,5];
var itemToFind = 3;
var indexOfMyItem = arr.indexOf(itemToFind); // -1 would mean not found
所以它归结为-
return indexOfMyItem > -1 ? arr[itemToFind] : undefined;
我同意Matt的观点。我认为问题出在功能的名称上
函数的名称是customFindProperty
,您正在调用customFindPropety
(注意属性的r)。
如果你改变了这一点,下一个问题是"some",因为arrayToFind不是一个函数
相关文章:
- 如何访问数组中的数组元素(JavaScript)
- 如何找到从中调用函数的元素(Javascript)
- 另一个元素JAVAscript中的元素位置
- 隐藏元素:Javascript属性和CSS样式之间的区别
- 如何比较数组中的元素(javascript)
- 使用一个函数来不同的元素 JavaScript
- 我需要从数组中获取一些元素 - JavaScript
- 元素 JavaScript 的读取宽度
- 识别数组的最后一个元素 - javascript
- 你如何使 Math.random 数组中的每一个第 9 个元素都是同一个元素?[JavaScript]
- 即时创建 Asp.Net 元素 Javascript
- 在提交表单上动态更改输入元素 javascript
- Kendo UI Grid 获取当前元素 javascript 的 ID
- 在我的 chrome 网上商店应用程序中禁用检查元素/JavaScript 控制台
- Canvas 元素 + Javascript 在 Chrome 和 Firefox 中工作,而不是在 Internet
- 对于在循环中不打印所有元素 - Javascript
- 选择元素 |Javascript vs Jquery.
- 无法删除 DOM 元素(JavaScript,CreateJS)
- 单击元素>JavaScript输出文档.activeElement VS.事件目标
- 当用户在文本框中输入数字时,将动态获得数组元素javascript或PHP