Разделить один массив на два массива с помощью команды native - PullRequest
0 голосов
/ 21 марта 2020

Я хотел бы разбить массив на два массива (один для букв, а другой для частот).

var list = [ "ES 324798", "LE 237076", "EN 231193" ]

Это массив, который я хочу разделить.

Я хотел бы получить массив со всеми буквами, подобными этому:

var letters = [ "ES", "LE", "EN" ]

И другой с числами:

var numbers = [ "324798", "237076", "231193" ]

Я искал "как разбить один массив на два массива с помощью React native", но я не нашел то, что мне нужно. Я пробовал использовать функции разделения и объединения, но это не помогло мне (или я просто не знаю, как правильно их использовать).

Можете ли вы дать мне несколько советов?

Ответы [ 2 ]

3 голосов
/ 21 марта 2020

Одним из возможных решений может быть использование .reduce() и .split().

Попробуйте выполнить следующее:

const list = [ "ES 324798", "LE 237076", "EN 231193" ];

const result = list.reduce((a, c) => {
  const split = c.split(' ');
  a.letters.push(split[0]);
  a.numbers.push(split[1]);
  return a;
}, { letters: [], numbers: [] });

const { letters, numbers } = result;

console.log('letters', letters);
console.log('numbers', numbers);

Надеюсь, это поможет!

1 голос
/ 21 марта 2020

Это не о React Native.

Я бы сделал:

const letters = []
const numbers = []
list.forEach((item) => {
  const [ letter, number ] = item.split(' ')
  letters.push(letter)
  numbers.push(number)
})
...