简体   繁体   English

如何在JavaScript中准备嵌套的键值对列表

[英]How can i prepare nested key value pair list in JavaScript

I have data in rows like 我有像这样的行中的数据

1. {type:"pant", service:"normal", price:"30"}
2. {type:"pant", service:"premium 1", price:"50"}
3. {type:"pant", service:"premium 2", price:"70"}
4. {type:"pant", service:"premium 3", price:"100"}

Looking for something like 寻找类似的东西

var x = {"pant", [{service:"normal", price:"30"},{service:"premium 1", price:"50"} ,{service:"premium 2", price:"70"}, {service:"premium 3", price:"100"}]}

so that I can get all type of services and their price by doing x['pant'] 这样我就可以通过执行x ['pant']获得所有类型的服务及其价格

Use array reduce function and create a key by name pant . 使用数组归约功能并通过名称pant创建一个键。 Check if the key exist then push the value of service and price 检查密钥是否存在,然后推送serviceprice的值

Also the expected object is invalid. 同样,预期对象无效。 An object key is separated by a colon ( : ) in this format (一个对象密钥由冒号分开:在该格式)

obj = {
  key:value
}

 var data = [{ type: "pant", service: "normal", price: "30" }, { type: "pant", service: "premium 1", price: "50" }, { type: "pant", service: "premium 2", price: "70" }, { type: "pant", service: "premium 3", price: "100" }] var x = data.reduce(function(acc, curr, currIndex) { if (!acc[curr.type]) { acc[curr.type] = [] } acc[curr.type].push({ service: curr.service, price: curr.price }) return acc; }, {}); console.log(x) 

If you want to use type as the key of the object and the values are arrays of service and price , you can use reduce 如果要使用type作为对象的键,并且值是serviceprice数组,则可以使用reduce

 let arr = [{type:"pant", service:"normal", price:"30"},{type:"pant", service:"premium 1", price:"50"},{type:"pant", service:"premium 2", price:"70"},{type:"pant", service:"premium 3", price:"100"}]; let result = arr.reduce((c, {type,...r}) => { c[type] = c[type] || []; c[type].push(r); return c; }, {}); console.log(result); 

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

相关问题 在Javascript中,如何检查嵌套在另一个键/值对中的特定键/值对的存在? - In Javascript, how can I check the existence of a specific key/value pair nested inside another key/value pair? 如何将键/值对添加到嵌套对象文字中? - How can I add a key/value pair to a nested object literal? 如何将键/值对添加到 JavaScript 对象? - How can I add a key/value pair to a JavaScript object? 如何在 javascript 中以键值对格式制作嵌套数组对象 - how to make nested array objects in javascript in a key value pair format 如何在字符串中的Javascript中访问已解析的JSON中的嵌套键值对 - How to access nested key value pair in parsed JSON in Javascript in string 如何在 Javascript 的键值对中转换嵌套的 Object - How to Convert Nested Object in Key Value Pair in Javascript 如何更新 Javascript 中嵌套对象数组中的键/值对 - How to update a key/value pair in a nested array of objects in Javascript 如何在单键值对数组中获取嵌套的 json 对象值 - How can i get nested json objects values in single key value pair array 当值为空时如何将键/值对添加到Javascript对象? - How can I add a key/value pair to a Javascript object when the value is empty? 如何在Javascript中将多个项目列表减少为键值对象? - How to reduce a list of multiple items to a key value pair object in Javascript?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM