【问题标题】:How to convert complex JavaScript arrays to a combined array and loop to a table?如何将复杂的 JavaScript 数组转换为组合数组并循环到表?
【发布时间】:2020-07-05 18:03:19
【问题描述】:

我坚持将两个数组与内部的对象组合在一起,并以标准格式重新分配值。有人可以提供一些指导吗?谢谢。

我现在的情况:

array1 = [{Apple: Ken,  Orange: Mary, Melon: Tina, Strawberry: Jessica, Mango: Susana, Lemon: Julia}]
array2 = [{Apple: 12,  Orange: 6, Melon: 7, Strawberry: 16, Mango: 15, Lemon: 11}]

预期结果:

arrayCombined = [[Apple: Ken, 12],[Orange: Mary, 6], [Melon: Tina, 7], [Strawberry: Jessica, 16], [Mango: Susana, 15], [Lemon: Julia, 11]]

在表格中的预期显示:

Fruit      | Fruit(buyer)  | Fruit(number of purchase) | even-number prize
---------------------------------------------------------------------
Apple      |   Ken         |     12                    |     Yes        
Orange     |   Mary        |      6                    |     Yes  
Melon      |   Tina        |      7                    |      No  
Strawberry |   Jessica     |     16                    |     Yes  
Mango      |   Susana      |     15                    |      No  
Lemon      |   Julia       |     11                    |      No  

       

【问题讨论】:

  • [Apple: Ken, 12] 这不是有效的 javascript 语法

标签: javascript arrays loops object


【解决方案1】:

假设您的数据具有如下有效格式:

const array1 = [{Apple: 'Ken',  Orange: 'Mary', Melon: 'Tina', Strawberry: 'Jessica', Mango: 'Susana', Lemon: 'Julia'}]
const array2 = [{Apple: 12,  Orange: 6, Melon: 7, Strawberry: 16, Mango: 15, Lemon: 11}]

您可以使用Object.entries() 来获取包含第一个数组的key - value 的数组数组,然后您可以map 该数组以便您将“组合数组”计算为具有某种有效格式的东西,这是我的建议:

const array1 = [{Apple: 'Ken',  Orange: 'Mary', Melon: 'Tina', Strawberry: 'Jessica', Mango: 'Susana', Lemon: 'Julia'}]
const array2 = [{Apple: 12,  Orange: 6, Melon: 7, Strawberry: 16, Mango: 15, Lemon: 11}]

const arrayCombined = Object.entries(array1[0])
  .map(([fruit, person]) => {
    const count = array2[0][fruit];

    return { [fruit]: [person, count] };
  })

console.log(arrayCombined);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 2016-08-15
    • 2019-08-10
    • 1970-01-01
    • 2020-03-02
    • 2014-08-26
    相关资源
    最近更新 更多