Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.11.2017, 18:41
Аватар для djamali
Новичок на форуме
Отправить личное сообщение для djamali Посмотреть профиль Найти все сообщения от djamali
 
Регистрация: 02.03.2015
Сообщений: 5

Не могу понять почему не работает код
В общем задача из 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");

Последний раз редактировалось djamali, 22.11.2017 в 18:49.
Ответить с цитированием
  #2 (permalink)  
Старый 22.11.2017, 19:34
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от djamali
arr[arr[j]]
Это как?

Может arr[i][j]?
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2017, 05:18
Аватар для join
Профессор
Отправить личное сообщение для join Посмотреть профиль Найти все сообщения от join
 
Регистрация: 05.03.2012
Сообщений: 477

Часто используют встроенную функцию .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');
Ответить с цитированием
  #4 (permalink)  
Старый 23.11.2017, 10:44
Интересующийся
Отправить личное сообщение для jerseybb Посмотреть профиль Найти все сообщения от jerseybb
 
Регистрация: 17.11.2017
Сообщений: 10

Через цикл (i -> j):
if (arr[j].indexOf(i) != -1)
    result.push(arr[j])

Через sort:
arr.sort((a, b) => a.match(/\d+/) - b.match(/\d+/))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять, помогите, indexOf SergoMorello Общие вопросы Javascript 17 02.11.2017 19:50
Не могу понять как работает простой скрипт. Argonaft jQuery 5 22.09.2017 00:23
Не работает jquery код на сайте Gvozdb jQuery 1 20.03.2013 11:57
Анимация. Помогите понять почему не работает. kadurban jQuery 4 08.07.2010 20:50
Не могу понять как работает jQuery kostiaGt jQuery 2 20.07.2008 08:42