我不知道這是可能的,因爲我還沒有發現這樣的東西.. 我通過一個JSON對象去..發現如果一個JSON值中包含某些文字
{"name": "zack",
"message": "hello",
"time": "US 15:00:00"},
{"name": "zack",
"message": "hello",
"time": "US 00:00:00"}
有我可以選擇只包含「15:00:00」部分的時間屬性的方式?
感謝您的幫助
我不知道這是可能的,因爲我還沒有發現這樣的東西.. 我通過一個JSON對象去..發現如果一個JSON值中包含某些文字
{"name": "zack",
"message": "hello",
"time": "US 15:00:00"},
{"name": "zack",
"message": "hello",
"time": "US 00:00:00"}
有我可以選擇只包含「15:00:00」部分的時間屬性的方式?
感謝您的幫助
按我的理解,如果你分析你的JSON你有對象的數組。所以,你可以利用filter功能和過濾掉不符合您在過濾功能通過標準的那些要素:
var parsedJson = [{"name": "zack",
"message": "hello",
"time": "US 15:00:00"},{"name": "zack",
"message": "hello",
"time": "US 00:00:00"}];
var result = parsedJson.filter(item=>item.time === "US 15:00:00");
console.log(result);
您可以使用陣列#過濾功能。它將返回一個帶有匹配元素的新數組。如果新的數組的長度是0,那麼沒有找到匹配
var myJson = [{
"name": "zack",
"message": "hello",
"time": "US 15:00:00"
},
{
"name": "zack",
"message": "hello",
"time": "US 00:00:00"
}
]
var m = myJson.filter(function(item) {
return item.time === "US 15:00:00"
})
console.log(m)
findIndex還可以用於找到如果它包含的值。如果該值是-1意思JSON數組中不包含與條件匹配的任何對象
var myJson = [{
"name": "zack",
"message": "hello",
"time": "US 15:00:00"
},
{
"name": "zack",
"message": "hello",
"time": "US 00:00:00"
}
]
var m = myJson.findIndex(function(item) {
return item.time === "US 15:00:00"
});
console.log(m)
var arr = [{
"name": "zack",
"message": "hello",
"time": "US 15:00:00"
}, {
"name": "zack",
"message": "hello",
"time": "US 00:00:00"
}]
for (var i = 0; i < arr.length; i++) {
var time = (arr[i].time.split('US '))[1];
console.log(time);
}
如果發現的有用標記它作爲有幫助的。
您可以使用filter
函數來過濾數組,並可以使用indexOf
來檢查time
字段是否包含15:00:00
。
E.g:
var json = [{
"name": "zack",
"message": "hello",
"time": "US 15:00:00"
},
{
"name": "zack",
"message": "hello",
"time": "US 00:00:00"
}
];
var resultObj = json.filter(item=>item.time.indexOf("15:00:00") !== -1);
console.log(resultObj);
你能不能約你的意思有點更清晰?你選擇什麼意思? –