javascript - 通过代码从数组创建 Json 结构 - Typescript

标签 javascript arrays json typescript

我必须创建一个 Json 对象,该对象代表来自不同数组的三明治配置(面包、肉、酱汁等...),其中包含每个类别的成分(1 个数组用于面包,1 个数组用于肉等...),例如这个{名称:'x',价格:'y'}

类别已定义,但每个数组可以有不同数量的元素

可以从这些数组开始,通过代码获得类似的东西吗?在用户选择所有原料后,我需要这个来在购物车页面中回顾一下我的三明治。 (每个 cat_1 都是一种成分)。

sandwich{
"cat_1": {[
        {
            "name": "x",
            "price": "x"
        }
    ]
},
"cat_2": {[
        {
            "name": "x",
            "price": "x"
        }
    ]

},
"cat_3": {[
    {
        "name": "x",
            "price": "x"
    },
    {
        "name": "x",
        "price": "x"
    },
    {
        "name": "x",
        "price": "x"
    }
    ]

},
"cat_4": {[
        {
            "name": "x",
            "price": "x"
        },
        {
            "name": "x",
            "price": "x"
        }
    ]
},
"cat_5": {[
        {
            "name": "x",
            "price": "x"
        },
        {
            "name": "x",
            "price": "x"
        },
        {
            "name": "x",
            "price": "x"
        }
    ]
}      

}

我没有发布任何代码,因为我不知道有什么帮助。

实际上,我将所有数组放入一个大数组中,我有类似的东西,但这与我想要实现的有很大不同。

[{
    "name": "Montanaro",
    "price": "5.00"
}, {
    "name": "Manzo",
    "price": "5.00"
}, {
    "name": "Fossa",
    "price": "1.00"
}, {
    "name": "Caciotta",
    "price": "1.00"
}, {
    "name": "Guacamole",
    "price": "0.50"
}, {
    "name": "Olive ascolane",
    "price": "1.00"
}, {
    "name": "Mozzarelline fritte",
    "price": "0.50"
}, {
    "name": "Onion Rings",
    "price": "1.00"
}]

我不是 json 专家,所以我不知道从哪里开始......

感谢所有可以帮助我的人。

祝你有美好的一天

最佳答案

您是否尝试过拆分成分并从列表中为每个三明治添加一个元素?

let breads = [{name: "bread1", price: 1.00}, {name: "bread2", price: 2.00}, {name: "bread3", price: 3.00}];
let meats  = [{name: "meat1" , price: 1.00}, {name: "meat2" , price: 2.00}, {name: "meat3" , price: 3.00}];
let sauces = [{name: "sauce1", price: 1.00}, {name: "sauce2", price: 2.00}, {name: "sauce3", price: 3.00}];


let s1 = {
  bread : breads[Math.floor(Math.random()*breads.length)],
  meats : meats[Math.floor(Math.random()*meats.length)],
  sauces : sauces[Math.floor(Math.random()*sauces.length)]
}
let sandwich = {s1};

console.log(sandwich);

这是一个示例:https://codepen.io/WildLlama/pen/VVLYmL?editors=0011

关于javascript - 通过代码从数组创建 Json 结构 - Typescript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53159225/

相关文章:

javascript - 使用 Google map 在 iPad 上缩放页面

java - 移动数组中的元素

javascript - 对象值仅在数组的第一个元素中增加

arrays - 如何检查 Kotlin 函数中的泛型类型?

c# - 向不记名 token json 添加更多值

javascript canvas 两个path2D之间的交集

javascript - 从外部txt文件加载图像信息并在html文件中显示

javascript - 需要替代 getElementByID 通过 select onchange 事件更新文本框

c++ - 将 char* 数组传递给函数

javascript - 通过 AJAX 传递 JSON 对象和 Javascript 变量