Как я могу создать объект JSON из 3 различных массивов в AngularJS

0

У меня есть 3 разных массива, один с именами столбцов таблицы, а другой с данными. Как я могу объединить их для создания одного объекта json в AngularJS?

var keyArray = ["Col1","Col2","Col3",...];
var ValArray1 = ["v1.1","v1.2","v1.3",...];
var ValArray2 = ["v2.1","v2.2","v2.3",...];

Я хочу, чтобы json что-то вроде этого

entries[
{
name: "Col1",
value: "v1.1" 
},
{name: "Col2",
value: "v1.2" 
},
...,
{name: "Col3",
value: "v2.3" 
}
]
  • 1
    не совсем понятно, как вам нужно смешивать keyArray с двумя ValArrays .. вы хотите только один объект, сначала с объектами из, сочетание keyArray с ValArray1, а затем объекты из комбинации keyArray с ValArray2?
  • 0
    Да. Первый массив содержит имена столбцов таблицы, а другой - данные.
Показать ещё 4 комментария

2 ответа

0
Лучший ответ

это нормально для вас? Вам вообще не нужны угловые.

var addToArray = function(entries, keys, values){
    for(var i = 0; i < keys.length; i++){
        if(keys[i] && values[i]) {
            var obj = {};
            obj[keys[i]] =   values[i];            
            entries.push(obj);
        }
    }
}

var entries = [];
addToArray(entries, keyArray, ValArray1);
addToArray(entries, keyArray, ValArray2);

если вы хотите использовать что-то из углового, вы можете использовать angular.forEach

Это будет смешивать ключи с массивом один, а затем ключи с массивом два.. Я сделал это таким образом, потому что в вашем вопросе неясно указано, когда он должен прекратить использовать массив один и начать использовать массив два (после того, как вы используете все значения в массив два, может быть?)

во всяком случае, для вашей цели я считаю, что ключевым моментом является

obj[keys[i]] =   values[i];   

Это позволит вам создать имя свойства со строкой в вашем массиве

  • 0
    Это работает! Спасибо!
0

Как насчет записей = {"Col1": "v1.1", "Col2": "v1.2", "Col3": "v2.3"} Таким образом, вы можете получить к нему доступ как записи [Col1], который равен v1.1

Ещё вопросы

Сообщество Overcoder
Наверх
Меню