Мой вопрос основан на том, как объединить данные из одного объекта JS в другой объект JSON, чтобы заменить его текущее значение, сопоставив его с ключом и значением от другого объекта.Заменить значение ключа массива/объектов с помощью значения ключа из другого массива/объекта javascript
В этом примере я х и у которые просто дает дату и номер. Однако у меня также есть 3 других ключа, значение которых является ключом в другом объекте в приведенном ниже примере. Эти ключи:
pf
nf
t
Цель состоит в том, чтобы либо изменить текущий объект JSON, заменив значение со значением ключей соответствовать или создания нового объекта JSON весь с той же заменой. Единственное другое предостережение в том, что иногда значения исходного объекта с нулевым значением, а в тех случаях они должны оставаться нулевыми после слияния или создания нового JSON.
var data = [
{x: Date.UTC(2014,8,1), y: 730, pf:["001","002"], nf:["001","002"], t:["001","002"] },
{x: Date.UTC(2014,10,1), y: null, pf:null, nf:null, t:null},
]
var pfMap={
"001":{"sd":"short desc1", "ld":"long desc1"},
"002":{"sd":"short desc2", "ld":"long desc2"}
}
var nfMap={
"001":{"sd":"short desc1", "ld":"long desc1"},
"002":{"sd":"short desc2", "ld":"long desc2"}
}
var tMap={
"001":"tip text1",
"002":"tip text2"
}
Так как пример новый объект JSON будет иметь массив ключей два результата или нуль, если ничего не есть. Перехват это имеет смысл.
Это похоже на то, что мне нужно. В интересах обучения я все еще не уверен, как функция знает о трех других объектах. Я вижу, что вы передаете исходные данные var, но я не вижу ссылки на другие три. Что мне здесь не хватает? –
'window [elementName +" Map "]' Эти три части глобальной области. Поэтому, если код обнаруживает, что имя родительского объекта совпадает с именем одного из этих объектов, кроме выполнения. Он динамически строится и протестирован против оконного объекта: фактически он становится «window ['xMap»], который оценивается как false или 'window [' pfMap ']', который оценивается как истинный. – Mouser
Блестящее спасибо! –