how do join the array and create new array?
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/
Can someone give me a solution, on how do I achieve the expecting output?
Use .push()
and remove the 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 );
});
var page_list = [ 'dkey', 'dvalue' ]; var arr = []; //Create new array arr.push(page_list); //Push page_list var json = '{"key1":"value1","key2":"value2","key3":"value3"}'; var jp = JSON.parse(json); for( var key in jp ) { arr.push([key, jp[key]]); //Push key, value } document.write(JSON.stringify(arr)) //outputs //[["dkey","dvalue"],["key1","value1"],["key2","value2"],["key3","value3"]]
You can do this:
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)
gets an array of keys from jp
(So, ['key1', 'key2', 'key3']
).
Then, .map
iterates over that result, where [key, jp[key]
is returned for each key, which results in ['key1', 'value1']
etc.
Finally, page_list
is added at the front of arr
.
You can do it like this:-
$(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);
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.