简体   繁体   中英

JavaScript join array into new array

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 );
});

Fiddle: https://jsfiddle.net/praveenscience/zjgx2pcj/6/

 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);

 });

https://jsfiddle.net/zjgx2pcj/4/

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM