[英]how to find a specific item in the object is not a function in javascript
[英]How to find item from an object with Javascript?
我有我的數據對象:
var elements = {
'element' : {
'name' : 'test',
'price' : '55'
},
'element' : {
'name' : 'letev',
'price': '223'
}
};
現在,我不知道如何按名稱查找每個元素 。 我需要通過名稱測試查找元素,然后訪問其他參數(價格,..)
假設您的對象是數組,而不是使用的語法:
var elements = [
{
'name' : 'test',
'price' : '55'
},{
'name' : 'letev',
'price': '223'
}
];
您可以像這樣過濾掉元素:
searchName = 'test';
elements.filter(function(element){
return element.name == searchName;
});
這只會返回名稱為'test'
的元素。
或作為功能:
function filterByName(array, namr){
array.filter(function(element){
return element.name == name;
});
}
這樣稱呼:
array result = filterByName(elements, 'test');
如果你需要支持IE 8或更低,則可以使用填充工具的Array.prototype.filter
。
您必須將元素更改為數組:
var elements = [
{
'name' : 'test',
'price' : '55'
},
{
'name' : 'letev',
'price': '223'
}
];
function findElementByName(name, elementsForSearch) {
if (name) {
elementsForSearch.filter(function(elem){
return elem.name === 'name';
});
return elementsForSearch[0];
}
return {};
}
alert(findElementByName('test', elements).name)
嘗試:
var elements = [
{
'name' : 'test',
'price' : '55'
},
{
'name' : 'letev',
'price': '223'
}
];
var search = 'letev';
for (var i = 0; i < elements.length; i++) {
if (elements[i].name == search) {
alert('found!');
break;
}
}
或使用Array.filter
:
var search = 'letev';
var output = elements.filter(function(element) {
return element.name == search;
});
如果您的elements
對象是一個數組,則可以執行此操作,即
var elements = [{
'element' : {
'name' : 'test',
'price' : '55'
},
'element' : {
'name' : 'letev',
'price': '223'
}
}];
var price;
for (var i=0; i <elements.length; i++) {
if (elements[i].name === 'test') {
price = elements[i].price;
break;
}
}
嘗試這個
var List= (JObject)JsonConvert.DeserializeObject(jsonstring);
var result= List["element"].Children().Select(node => node["name"]== "Test").ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.