84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
想在下面这个json对象上实现:1.末尾添加一组数据"事件4":{"排序":4};2.按照"排序"的值排序.
var myObj = { "事件2": { "排序": 2 }, "事件3": { "排序": 3 }, "事件1": { "排序": 1 } };
ps:这是分开的两个功能,不要写一起!
人生最曼妙的风景,竟是内心的淡定与从容!
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式, 并不存在一种对象叫"JSON对象", 有的只是Javascript对象, 也就是看上去是这种键值对的形式的
不过Javascript对象是无序的, 所以你现在说排序可能是个伪命题, 也许你需要把你的问题改成, 期望按照那个"排序"的值进行输出, 那就还是有希望的
至于要加个值, 很简答:
var myobj = { "事件2": { "排序": 2 }, "事件3": { "排序": 3 }, "事件1": { "排序": 1 } }; myobj['事件4'] = { 'hello': 'world' }
为了在浏览器上按照排序的值依次渲染,最好还是先将Object转为一个Array,后续的sort和add按照新的数据结构添加就好了。
var source = { "事件2": { "排序": 2 }, "事件3": { "排序": 3 }, "事件1": { "排序": 1 } }; var sorted = (function sort(source){ return Object.keys(source).map(function(key){ return { event:key, order:source[key]['排序'], } }).sort(function(a,b){ return a.order - b.order; }); })(source); /** [ { "event": "事件1", "order": 1 }, { "event": "事件2", "order": 2 }, { "event": "事件3", "order": 3 } ] */
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式, 并不存在一种对象叫"JSON对象", 有的只是Javascript对象, 也就是看上去是这种键值对的形式的
不过Javascript对象是无序的, 所以你现在说排序可能是个伪命题, 也许你需要把你的问题改成, 期望按照那个"排序"的值进行输出, 那就还是有希望的
至于要加个值, 很简答:
为了在浏览器上按照排序的值依次渲染,最好还是先将Object转为一个Array,后续的sort和add按照新的数据结构添加就好了。