Ну, ваш пример описывает два JavaScript объекта, поэтому не уверен, что именно вы запрашивали.
Один из этих подходов?
var line1 = {
"icon": "dark-mode",
"classes": "dark-mode",
"local": "test1"
};
var line2 = {
"icon": "settings",
"classes": "settings",
"local": "test2"
};
var combined = {};
Object.keys(line1).forEach(function(key) {
if (combined[key]) {
combined[key].push(line1[key]);
} else {
combined[key] = [line1[key]]
}
});
Object.keys(line2).forEach(function(key) {
if (combined[key]) {
combined[key].push(line2[key]);
} else {
combined[key] = [line2[key]]
}
});
console.log(combined);
console.log([line1, line2]);
Если нет, не могли бы вы описать целевую структуру?