javascript - 创建 indexOf 函数
问题描述
我正在尝试创建 indexOf 函数,但它不起作用。我是一个菜鸟程序员,几天前开始学习 Javascript。
我尝试使用循环,但我不认为循环的概念对我来说很清楚。任何人都可以检查下面的代码并帮助我理解我做错了什么以及循环的正确用法吗?
function index(arr, srchvlu) {
for (srchvlu = 0; srchvlu < arr.length; srchvlu = srchvlu + 1) {
result = srchvlu;
}
return result;
}
var ans = (index("hello", "l"));
console.log(ans);
我希望输出为 2,但实际输出为 4。
解决方案
您需要测试值的相等性并相应地从函数返回值
- 循环遍历arr,检查当前索引的值是否与搜索值相同返回当前索引,
- 如果没有一个值与 srchvlu 匹配,则返回
-1
function index(arr, srchvlu) {
for (let i = 0; i < arr.length; i++) {
if(arr[i] === srchvlu) { //checks current value is equal to srchvlu
return i
}
}
return -1
}
var ans = index("hello", "l");
console.log(ans);
推荐阅读
- mysql - SQL如何查询最早的股票价格?
- python - 如何将时尚 MNIST 转换为数据集类?
- ios - 在数据模型中将 UIImage 存储为 String 或 UIImage 会占用更少的存储空间吗?
- types - 如何在不调用任何方法的情况下持久化数据?
- python - 在python中仅使用max函数查找变量的最小值
- javascript - 从 JSON 字典中获取键值
- ruby - 在消息中打印“可用方法”电报 API Ruby
- c++ - 如何修复包含必须返回值的错误?
- javascript - React Router 与 Private Route 渲染空白页面
- http - https是如何识别的?