Как искать объект JavaScript по значению?
Я столкнулся со сценарием, в котором я должен отобразить следующий ответ в таблице.
[
{
"name": "Test",
"endPointURI": "http://10.10.10.1:123",
"successCount": 0,
"failureCount": 3761,
"successRate": 0.0,
"failureRate": 5.980012278871403,
"totalSent": 3761.0,
"totalSendRate": 5.980012307671908,
"latency": 0,
"oneMinuteSuccessRate": 0.0,
"fiveMinuteSuccessRate": 0.0,
"fifteenMinuteSuccessRate": 0.0,
"oneMinuteFailureRate": 9.971719382874516,
"fiveMinuteFailureRate": 23.609469948078925,
"fifteenMinuteFailureRate": 77.78484853747226,
"oneMinuteSendRate": 9.913005632492993,
"fiveMinuteSendRate": 23.60190467615165,
"fifteenMinuteSendRate": 77.7832824814743,
"lastSentSuccessTime": 0,
"sendRate": 5.980012307671908
},
[
{
"name": "Test2",
"endPointURI": "http://10.10.10.1:123",
"successCount": 0,
"failureCount": 3761,
"successRate": 0.0,
"failureRate": 5.980012278871403,
"totalSent": 3761.0,
"totalSendRate": 5.980012307671908,
"latency": 0,
"oneMinuteSuccessRate": 0.0,
"fiveMinuteSuccessRate": 0.0,
"fifteenMinuteSuccessRate": 0.0,
"oneMinuteFailureRate": 9.971719382874516,
"fiveMinuteFailureRate": 23.609469948078925,
"fifteenMinuteFailureRate": 77.78484853747226,
"oneMinuteSendRate": 9.913005632492993,
"fiveMinuteSendRate": 23.60190467615165,
"fifteenMinuteSendRate": 77.7832824814743,
"lastSentSuccessTime": 0,
"sendRate": 5.980012307671908
}]
У меня есть "Имя" в качестве моего уникального ключа здесь.
Учитывая имя, я хочу вернуть JSON (или объект javascript), который имеет "Имя".
Я действительно смущен здесь. Может кто-нибудь помочь?
3 ответа
Если вы хотите работать только с объектом в вашей коллекции с определенным name
собственность, вы можете просто позвонить Array.prototype.find
метод?
let tableData = collection.find(function(myObject) {
return myObject.name === 'Test'
})
Я думаю, что я понял это.
_.findWhere(results.attributes, {name: "Test"})
Поскольку мое имя уникально, я использовал findWhere, но если оно не уникально, я мог бы использовать find вместо findWhere. (UnderscoreJS)
Спасибо за вашу помощь!
Вы должны Linq Js Framework... https://linqjs.codeplex.com/
Exmple:
var queryResult = Enumerable.from(jsonArray)
.where(function (x) { return x.name == "Test2" })
.orderBy(function (x) { return x.totalSent })
.select(function (x) { return x.endPointURI }).toArray();
Ссылка Nuget: https://www.nuget.org/packages/linq.js/
Nuget Code: Install-Package linq.js -Version 2.2.0.2