亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js求一個循環算法?

js求一個循環算法?

三國紛爭 2018-09-03 07:28:40
我想實現一個小導航功能,有個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){      } //我寫的部分代碼,比較失敗,里面的太亂了,不敢貼出來,嚇人。誰指點我一下嘛!
查看完整描述

2 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

var arr = ['1001|電腦','1002|個人電腦','99|華碩電腦','100|華碩筆記本'];var target = "99"var result = [];for(var i = 0; i<arr.length; i++) {
    result.push(arr[i].match(/(\d+)\|/)[1]);    if(arr[i].indexOf(target) > -1) {        break;
    }
}console.log(result);


查看完整回答
反對 回復 2018-09-03
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

不需要什么算法

var myArray = ['1001|電腦','1002|個人電腦','99|華碩電腦','100|華碩筆記本'];var id = 100;var result = [];for (var i = 0; i < myArray.length; i++) {    var sec = myArray[i].split('|', 2);    var theid = parseInt(sec[0]);    var thename = sec[1];
    result.push(thename);    if (theid == id) {        break;
    }
}console.log(result);

ES6:

let myArray = ['1001|電腦','1002|個人電腦','99|華碩電腦','100|華碩筆記本'];let id = 99;let last = myArray.findIndex(v=> parseInt( v.split('|', 2)[0] ) ===id )
myArray.slice(0, last+1).forEach(v=> alert( v.split('|', 2)[0] ));


查看完整回答
反對 回復 2018-09-03
  • 2 回答
  • 0 關注
  • 788 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號