繁体   English   中英

Javascript:将多个单独的数组合二为一

[英]Javascript: Group Multiple Separate Arrays into One

我有这个调用返回了这样的响应:

 let pokemonTypes = pokemonData.map((pokemon, i) =>
   {
   let singleType = pokemon.type;
     console.log(singleType);
   }
  );

在此处输入图片说明

请注意,数组是完全独立的,没有任何父数组或对象包装器。

我如何获取这些数组并将它们包装成一个或什至更好地将它们的所有值连接成一个数组,如下所示:

["fire", "grass", "water", "fire", "grass", "flying"]

使用函数和reduce来解决这个问题的另一种方法

const first = ['bird', 'tiger'];
const second = ['bird'];
const third = ['lion'];
const fourth = ['tiger', 'duck'];

const myFunc = (...args) => {
    return args.reduce((prev, item) => {
        return [...prev, ...item];
    }, [])
}

const result = myFunc(first, second, third, fourth)
console.log(result)
// ["bird", "tiger", "bird", "lion", "tiger", "duck"]

https://jsbin.com/picutod/1/edit?js,console

这有帮助吗?

 const pokemonData = [{ type: ['Fire'] }, { type: ['Grass', 'Poison'] }] const types = pokemonData.reduce((acc, {type}) => (acc.push(...type), acc), []) console.log(types) // [ "Fire", "Grass", "Poison" ]

当你得到它们时,你必须抓住它们。

let allPokemonTypes = [];

function onNewPokemonType(pokemonTypes) {
    console.log(pokemonTypes);
    allPokemonTypes = [...allPokemonTypes, ...pokemonTypes];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM