Назначить значение объекта в виде массива в JavaScript - PullRequest
0 голосов
/ 23 января 2019

Как присвоить значение массиву в значении объекта? Он может иметь несколько входных входов и ожидать, что вход добавлен в массив.

Код:

var ob = {};
$.each( input, function( key, value ) {
    var v = [];
    ob[key] = v.push(value);
      console.log( v );     
      console.log( "obj: " + ob );                          
      console.log( key + ": " + value );
    });

Введите:

First input- {A: "34",B: "2"}
Second input- {A: "21",B: "11"}

Ожидаемый:

ob = {A: ["34","21"] ,B: ["2","11"]}

Ответы [ 3 ]

0 голосов
/ 23 января 2019

Надеюсь, это поможет,

var ob = {};

$.each(input, function(key, value) {
    if (!ob[key]) {
        ob[key] = [];  // Creates a new Array for the key, if no array is there
    }
    ob[key].push(value);  // Pushes the value to the array of the particular key
});
0 голосов
/ 23 января 2019

Проблема в том, что v очищает на каждой итерации, из-за этой строки:

var v = [];

Попробуйте сделать это вместо:

$.each(input, (key, val) => {
    if (ob[key]) {
        ob[key].push(val);
    } else {
        ob[key] = [val];
    }
});
0 голосов
/ 23 января 2019

Создать функцию и переменную объекта. Проверьте, существует ли ключ в этом объекте. Если он не существует, они создают ключ и нажимают значения

let input1 = {
  A: "34",
  B: "2"
}
let input2 = {
  A: "21",
  B: "11"
}

// a object which will hold the key and value

let finalObj = {};
// create a function which will be called o add key an value property to object
function createObj(obj) {
  // iterate the object
  for (let keys in obj) {
    // check if final object has the relevent key
    if (finalObj.hasOwnProperty(keys)) {
      // if it has that key then push the value according to the key
      finalObj[keys].push(obj[keys])
    } else {
      finalObj[keys] = [obj[keys]]
    }
  }

}

createObj(input1)
createObj(input2)
console.log(finalObj)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...