Массив выглядит следующим образом:
"myTags":
[{
"type":"one",
"value":"Testing",
"note":"Hey"
},{
"type":"two",
"value":"Yg5GE",
"note":"hey2"
}]
Мне нужно преобразовать тип: "одно" значение "Тестирование" в нижний регистр, т.е. Значение = Тестирование должно быть "тестированием". Есть ли способ сделать это, сохраняя ту же структуру?
Примечание: "type":"one","value":"Testing",
не всегда могут быть включены в массив. Поэтому я предполагаю, что в этом сценарии мне сначала нужно сделать чек, если они существуют?
Я попробовал.map, однако я не могу получить результат, который я хочу. Любая помощь будет оценена по достоинству.
Идеальная структура:
"myTags":
[{
"type":"one",
"value":"testing",
"note":"hey"
},{
"type":"two",
"value":"Yg5GE",
"note":"hey2"
}]
Перейдем к элементам в myTags
, проверьте, является ли type
"one"
и только потом измените содержимое value
на нижний регистр (если есть)
var data = {
"myTags": [{
"type": "one",
"value": "Testing",
"note": "Hey"
}, {
"type": "one",
"note": "Hey"
}, {
"type": "two",
"value": "Yg5GE",
"note": "hey2"
}]
};
data.myTags.forEach(function(tag) {
if (tag.type === "one" && typeof tag.value !== "undefined") {
tag.value = tag.value.toLowerCase();
}
});
console.log(data.myTags);
Вы также можете сначала фильтровать содержимое myTags
чтобы получить элемент с "type": "one"
и только перебирать эти элементы (элементы)
var data = {
"myTags": [{
"type": "one",
"value": "Testing",
"note": "Hey"
}, {
"type": "one",
"note": "Hey"
}, {
"type": "two",
"value": "Yg5GE",
"note": "hey2"
}]
};
data.myTags
.filter(function(tag) {
return tag.type === "one";
})
.forEach(function(tag) {
if (typeof tag.value !== "undefined") {
tag.value = tag.value.toLowerCase();
}
});
console.log(data.myTags);
Это прекрасно работает
$(document).ready(function(){
var objects ={"myTags":
[{"type":"one","value":"Testing", "note":"Hey"}
,{ "type":"two", "value":"Yg5GE", "note":"hey2"}]};
var obj = objects.myTags.map(function(a) {
a.value = a.value.toLowerCase();
return a;
});
console.log(obj);
});
выход:
{type: "one", value: "testing", note: "Hey"}
{type: "two", value: "yg5ge", note: "hey2"}
Спасибо