js求一个循环算法?

我想实现一个小导航功能,有个js数组。

我给他变成了这样的了。

$arr = ['1001|电脑','1002|个人电脑','99'|华硕电脑,'100'|华硕笔记本];

现在要实现这样的,就是我输入。例如:99,

就开始找这个数组,输出 1001,1002,99。99后面的都截断。

输入 1002,打印出 1001,1002.

怎么弄呢?

var length = myArray.length;for (var i = 0; i < length; i++) {    if(myArray[i].indexOf(id) == -1){ 
    } //我写的部分代码,比较失败,里面的太乱了,不敢贴出来,吓人。

谁指点我一下嘛!


慕的地8271018
浏览 708回答 2
2回答

慕丝7291255

我想实现一个小导航功能,有个js数组。我给他变成了这样的了。$arr = ['1001|电脑','1002|个人电脑','99'|华硕电脑,'100'|华硕笔记本];现在要实现这样的,就是我输入。例如:99,就开始找这个数组,输出 1001,1002,99。99后面的都截断。输入 1002,打印出 1001,1002.怎么弄呢?var&nbsp;length&nbsp;=&nbsp;myArray.length;for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;length;&nbsp;i++)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;if(myArray[i].indexOf(id)&nbsp;==&nbsp;-1){&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;//我写的部分代码,比较失败,里面的太乱了,不敢贴出来,吓人。谁指点我一下嘛!

慕田峪4524236

不需要什么算法var&nbsp;myArray&nbsp;=&nbsp;['1001|电脑','1002|个人电脑','99|华硕电脑','100|华硕笔记本'];var&nbsp;id&nbsp;=&nbsp;100;var&nbsp;result&nbsp;=&nbsp;[];for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;myArray.length;&nbsp;i++)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;sec&nbsp;=&nbsp;myArray[i].split('|',&nbsp;2);&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;theid&nbsp;=&nbsp;parseInt(sec[0]);&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;thename&nbsp;=&nbsp;sec[1]; &nbsp;&nbsp;&nbsp;&nbsp;result.push(thename);&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(theid&nbsp;==&nbsp;id)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;} }console.log(result);ES6:let&nbsp;myArray&nbsp;=&nbsp;['1001|电脑','1002|个人电脑','99|华硕电脑','100|华硕笔记本'];let&nbsp;id&nbsp;=&nbsp;99;let&nbsp;last&nbsp;=&nbsp;myArray.findIndex(v=>&nbsp;parseInt(&nbsp;v.split('|',&nbsp;2)[0]&nbsp;)&nbsp;===id&nbsp;) myArray.slice(0,&nbsp;last+1).forEach(v=>&nbsp;alert(&nbsp;v.split('|',&nbsp;2)[0]&nbsp;));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript