如何加入数组并创建新数组?
var page_list = [ 'dkey', 'dvalue' ];
var json = '{"key1":"value1","key2":"value2","key3":"value3"}';
var jp = JSON.parse(json);
for( var index in jp ) {
var obj = jp[index];
//page_list.concat( ['test1','value2'] );
}
//expecting output
[ [ 'dkey', 'dvalue' ], [ 'key1', 'value1'], ['key2','value2'], ['key3','value3'] ]
https://jsfiddle.net/zerolfc/zjgx2pcj/1/
有人可以给我一个解决方案,我该如何实现预期的输出?
答案 0 :(得分:1)
使用.push()
并移除obj
:
$(function() {
var array = [];
var page_list = [ 'dkey', 'dvalue' ];
var new_arr = '{"key1":"value1","key2":"value2","key3":"value3"}';
var jp = JSON.parse(new_arr);
array.push( page_list );
for( var index in jp ) {
array.push( [index, jp[index]] );
}
console.log ( array );
});
答案 1 :(得分:1)
{{1}}
答案 2 :(得分:1)
你可以这样做:
var page_list = [ 'dkey', 'dvalue' ];
var json = '{"key1":"value1","key2":"value2","key3":"value3"}';
var jp = JSON.parse(json);
// Map all values from `jp` into an array.
var arr = Object.keys(jp).map(function (key) {return [key, jp[key]]});
// Add `page_list` as first item of the array.
arr.unshift(page_list);
console.log(arr);
alert(JSON.stringify(arr));
Object.keys(jp)
从jp
获取一系列密钥(因此,['key1', 'key2', 'key3']
)。
然后,.map
对该结果进行迭代,其中为每个键返回[key, jp[key]
,结果为['key1', 'value1']
等。
最后,在page_list
的前面添加了arr
。
答案 3 :(得分:1)
你可以这样做: -
$(function() {
var array = [];
var page_list = [ 'dkey', 'dvalue' ];
var new_arr = '{"key1":"value1","key2":"value2","key3":"value3"}';
var jp = JSON.parse(new_arr);
parentArr = [];
for( var index in jp ) {
var obj = jp[index];
parentArr.push([index, obj]);
}
parentArr.push(page_list);
console.log(parentArr);
});