Как я могу преобразовать элементы массива в JavaScript в независимый массив, используя forEach - PullRequest
3 голосов
/ 23 октября 2019

Я пытаюсь преобразовать элементы массива в независимые массивы, а затем добавляю эти массивы в новый массив. это то, что я пыталсяНо не могу заставить его работать. splice метод не работает должным образом с forEach, forEach просто работает для половины массива и затем завершается.

что я ожидаю, что-то вроде этого [['Apple'], ['Banana'], ['Манго'], ['Гранат']]

const fruits = ['Apple', 'Banana', 'Mango', 'Pomegranate']

function removeArrayItem(item,index){
    return fruits.splice(0,1)
}

const fruitsList = []

fruitsList.unshift(fruits.forEach(removeArrayItem))

console.log(fruitsList)

Ответы [ 2 ]

7 голосов
/ 23 октября 2019

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

const fruits = ['Apple', 'Banana', 'Mango', 'Pomegranate']

console.log(fruits.map(fruit => [fruit]));

Если вы установили forEach, вы можете сделать это следующим образом:

const fruits = ['Apple', 'Banana', 'Mango', 'Pomegranate'];
const result = [];

fruits.forEach(fruit => result.push([fruit]));

console.log(result);

Что-то вроде этого будет работать для соединения:

const fruits = ['Apple', 'Banana', 'Mango', 'Pomegranate'];
const initialLength = fruits.length;
const result = [];

for(let i = 0; i < initialLength; i++) {
    result.push(fruits.splice(0,1));
}

console.log(result);
0 голосов
/ 23 октября 2019

Для преобразования

['Apple', 'Banana', 'Mango', 'Pomegranate']

в

[["Apple"], ["Banana"], ["Mango"], ["Pomegranate"]] *

Вы можете попробовать

    //using for each 
    const usingForEach = []; 
    fruits.forEach(el => usingForEach.push([el]));

    //using map
    const usingMap = fruits.map(el => [el]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...