Сгенерировать объект из простой строки не JSON [дубликат]

.equals() сравнивает данные в классе (при условии, что функция реализована). == сравнивает местоположения указателя (расположение объекта в памяти).

== возвращает true, если оба объекта (NOT TALKING OF PRIMITIVES) указывают на экземпляр SAME. .equals() возвращает true, если два объекта содержат одни и те же данные equals() Versus == в Java

Это может вам помочь.

3
задан eyecatchUp 6 December 2017 в 22:32
поделиться

1 ответ

Вы можете использовать итеративный подход, используя объект по умолчанию, если свойство не существует.

function setValue(object, key, value) {
    var path = key.split('.'),
        last = path.pop();

    path.reduce(function (o, k) {
        return o[k] = o[k] || {};
    }, object)[last] = value;
}

var translations = [{ key: "app_name", val: "foo" }, { key: "meta.title", val: "foo" }, { key: "meta.lang", val: "bar" }, { key: "teaser.foo.headline", val: "foo" }, { key: "teaser.foo.subline", val: "bar" }],
    object = {};

translations.forEach(function (o) {
    setValue(object, o.key, o.val);
});

console.log(object);
.as-console-wrapper { max-height: 100% !important; top: 0; }

4
ответ дан Nina Scholz 17 August 2018 в 10:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: