Прежде всего, я все еще учусь, пожалуйста, будьте осторожны :) У меня есть ответ json, где я хочу выбрать некоторые конкретные элементы. Я пытаюсь получить некоторые элементы с определенным именем внутри объекта и хочу проверить, соответствует ли оно предопределенному имени. Это спецификации продукта с определенным именем типа «длина», «ширина» и т. Д.Выберите по названию в объекте
У меня возникли проблемы с поиском этих конкретных имен, и если они найдены, получите их атрибут «значение».
Так что у меня есть это:
JSON ответ:
{
"product": {
"specs": {
"231638": {
"id": 231638,
"title": "Length (mm)",
"value": "1200"
},
"231641": {
"id": 231641,
"title": "Width (mm)",
"value": "800"
},
"231644": {
"id": 231644,
"title": "Height (mm)",
"value": "144"
} //etc etc
Теперь я хочу, чтобы захватить только два value
атрибуты из спецификации «длина» и «высота». Поэтому сначала я должен посмотреть, присутствуют ли эти два имени и соответствуют ли они «длина» и «высота», и, если так, возьмите их атрибуты value
. Вот где мне нужна помощь.
Конечный результат должен быть
<div class="somediv">
<span class="width">1200</span>
<span class="height">144</span>
</div>
Так что у меня есть это:
$.getJSON(url', function(data){
var specsHtml = [];
$.each(data.product.specs, function(index, spec){
// in here I need to test if the name of the spec equals "length or Height".
specsHtml.push(spec.value);
});
specsHtml = specsHtml.join('');
}
container.find('.product-bottom .measurements span').html(specsHtml);
});
Я укомплектовать застрял здесь. Я пытался что-то вроде:
(spec.hasOwnProperty("title"));
или
var specs = [];
data.product.specs.forEach(data.product.specs => {
if (data.product.specs)
for (var spec in data.product.specs)
specs.push(spec);
})
Любая помощь очень ценится :)
Thx для ответа.! Однако это возвращает значение «0» для всех полей. Можете ли вы также объяснить, что делает «/ length/i»? – Meules
Хорошо, я думаю, я вижу, что происходит не так. Тестирование 'spec.title' с этим регистром, например, шириной. Однако это всегда будет ложным, так как его нужно сравнить с «значением» этой спецификации. Можете ли вы помочь в этом? – Meules
@Meules, я заменил код на исполняемый фрагмент. Проверьте это –