Массив не дает ожидаемого ответа с помощью функции split - PullRequest
0 голосов
/ 06 октября 2018

В этом коде console.log (name [i]) приводит к первому символу разделенной строки (то есть c, s, t), но я хочу, чтобы имя отделялось как chris.и это дает ожидаемый результат на MDN, но не на консоли на JS.

var char=['chris:2255655','sarrah:5456454','taur:5655226'];

var name=new Array();

for(var i=0;i<char.length;++i){
    name=char[i].split(':');
    console.log(name[i]);
}

Ответы [ 4 ]

0 голосов
/ 06 октября 2018

Поскольку вы знаете позицию своего выбора, вы можете назначить непосредственно переменной:

var char = ['chris:2255655', 'sarrah:5456454', 'taur:5655226']

var names = char.map(item => {

  var [name] = item.split(':'); // <- select only first index
  // var [name, id] = item.split(':'); // <- select first and second index
  // var [name, ...rest] = item.split(':'); // <- select first and rest of the elements
  // var [name,] = item.split(':'); // <- select first and skip next element index using ","

  return name;

})

console.log(names);
0 голосов
/ 06 октября 2018

Вы можете просто сделать:

var char=['chris:2255655','sarrah:5456454','taur:5655226']

// As array
console.log(char.map(x => x.split(':')[0]))

// As a string
console.log(...char.map(x => x.split(':')[0]))

Мы используем map для прохождения каждой из строк и split по :.

Поскольку split дает нам массив, мы берем индекс 0, который содержит имя.Поскольку Map возвращает массив, вы можете оставить его как есть или деструктировать с помощью ..., чтобы получить его содержимое.

0 голосов
/ 06 октября 2018

Вы можете сделать так.

const char=['chris:2255655','sarrah:5456454','taur:5655226'];

const name= [];

for(let i=0;i<char.length;i++){
  let val =char[i].split(':');
  name.push(val[0]);
  console.log(name[i]);
}
0 голосов
/ 06 октября 2018

Ваш код должен выглядеть как

var char=['chris:2255655','sarrah:5456454','taur:5655226'];

    for(var i=0;i<char.length;++i){   
       var w = char[i].split(":");
       console.log(w[0]);
    }

Пожалуйста, проверьте мой фрагмент.Кажется, что ваш сплит был не массивом, а строкой.Таким образом, вы получили только первый символ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...