Объедините два строковых объекта в атрибуте для использования в цикле .map - PullRequest
0 голосов
/ 31 марта 2020

Я объединяю PHP объекты в строки, что дает мне следующий результат:

{"icon":"dark-mode","classes":"dark-mode","local":"test1"}
{"icon":"settings","classes":"settings","local":"test2"}

Как я могу преобразовать эту строку в массив, чтобы сопоставить ее с функцией .map?

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Используйте Object.keys (youObj) , чтобы преобразовать ключи объекта и использовать его для карты

const someObj = {"icon":"dark-mode","classes":"dark-mode","local":"test1"}

const objToString = Object.keys(someObj).map(item => `key = ${item}, item = ${someObj[item]}`)

console.log(objToString)
0 голосов
/ 31 марта 2020

Ну, ваш пример описывает два 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]);

Если нет, не могли бы вы описать целевую структуру?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...