Не могу понять почему не работает код
В общем задача из codewars.com , развернуть предложение в зависимости от цифр встречающихся в cловах, пытаюсь получить нужный массив, в консоли undefined
function order(words){ var arr=words.split(" "); var new_arr=[]; for(var i=0;i<arr.length;i++){ for(var j=0;j<=9;j++){ if(arr[i].indexOf(j)>-1){ new_arr[i]=arr[arr[j]]; console.log(arr[arr[j]])//вот эта строчка становится undefined } } } } order("world2 Hello1"); |
Цитата:
Может arr[i][j]? |
Часто используют встроенную функцию .sort() если речь идет о сортировках.
Примерно так: function sord(a,b){ return a.substr(-1) - b.substr(-1);//сравнение цифр в конце строк } function words(str){ let s = str.split(' ');//string->array s = s.sort(sord);//sorting array console.log( s );//Independent } words('Democracy3 Is4 Coming5 Open1 Up2'); |
Через цикл (i -> j):
if (arr[j].indexOf(i) != -1) result.push(arr[j]) Через sort: arr.sort((a, b) => a.match(/\d+/) - b.match(/\d+/)) |
Часовой пояс GMT +3, время: 05:04. |