编写一个名为“locate”的函数,该函数获取数组和值,如果多维数组中存在指定的值,则返回 true
Write a function named "locate" that gets an array and value and returns true if specified value exist in a multidimentional array
示例:
locate(['a','b',['c','d',['e']]],'e'); // should return true
locate(['a','b',['c','d',['e']]],'a'); // should return true
locate(['a','b',['c','d',['e']]],'f'); // should return false
我的解决方案:
var locate = function(arr,value){
arr=arr.join('').split(',').join('').split('');
return arr.indexOf(value)!==-1;
}
它失败了:Should not find 'three'
以及更多:
var locate = function(arr,value){
arr=arr.join('').split(',').join('');
return arr.indexOf(value)!==-1;
}
这是一个不同的结果。
你对你的输入做了一个巨大的假设。仅仅因为示例数据使用单个字符,并不意味着实际测试数据将是单个字符。
您的解决方案只是将所有内容粉碎成一个没有分隔符的字符串,然后将其分解回单个字符数组。对于像 locate(['te', 'st'], 'blah')
这样的输入,这将严重失败,您的解决方案将破坏输入数组,产生类似['t', 'e', 's', 't']
的内容进行搜索。
您需要递归地在数组中搜索完全匹配的各个元素。你试图对你的拆分/加入/拆分/加入的东西太聪明了。
相关文章:
- 数组函数不适用于从元素文本创建的JavaScript数组
- 如何在javascript中求解pack数组函数
- 制作一个javascript的数组函数
- 获取元素的位置并创建它的数组函数
- 茉莉花中的 SpyOn javascript 数组函数
- 自定义数组函数不接受参数
- 使用原型的自定义数组函数.新的 MyArray(1,2,3,4) 不工作
- Java 脚本随机化数组函数
- 在 Restangular 集合上使用 lodash 数组函数
- 比较数组函数返回未定义
- Javascript中嵌套for循环与数组函数的性能
- 多维数组函数在JS中不起作用
- Javascript数组函数有我看不到的错误
- 数组函数外的javascript
- 在数组/函数中循环时使用换行符
- 拼接javascript数组函数获胜't删除项目
- 为什么不'这个js数组函数不能工作
- 如何在我自己的数组原型函数中使用数组函数
- 在javascript中定义数组函数
- Jquery动态树数组函数