Javascript哈希

use*_*898 -3 javascript

我有这个哈希:

{
 a: [1,2],
 b: [1,2,3]
}
Run Code Online (Sandbox Code Playgroud)

我需要生成一个这样的字符串:

一个= 1&A = 2&B = 1&B = 2&B = 3

我怎么解决这个问题 ?我正在看看lodash,但我无法解决它.

谢谢.

Pra*_*lan 5

使用javascript Object.keys(),map()join()使用ES6箭头功能

var arr = {
  a: [1, 2],
  b: [1, 2, 3]
};
var res = Object.keys(arr).map(v => arr[v].map(v1 => v + '=' + v1).join('&')).join('&');
document.write(res);
Run Code Online (Sandbox Code Playgroud)


或没有箭头功能

var arr = {
  a: [1, 2],
  b: [1, 2, 3]
};

var res = 
    // get object keys
    Object.keys(arr)
// iterate over object keys and iterate
.map(function(v) {
  // iterate over inner array
  return arr[v].map(function(v1) {
    // generate prefered string and return 
    return v + '=' + v1
    // cconcatenate string array
  }).join('&')
  // concatenate string array
}).join('&');

document.write(res);
Run Code Online (Sandbox Code Playgroud)