获取数组项ajax中的元素

时间:2015-11-04 16:44:02

标签: javascript jquery ajax

我在$.each(data.dataa, function (i,item) { $.each(item, function (index, dat) { $str+=dat; }) $ulSub.append( '<li id="'+item.id +'" class="ui-widget-content">' +$str+'</li>'); }); 中写了一个返回一组值的函数:

id

每个项目都有两个属性:lastname$str, 每个id的值是lastnamelastname的串联,但我只想要id而不是item[2]。我使用了函数lasname,但它无效。

enter image description here

我的代码的结果如下:

enter image description here

我想要的只是得到item.lastname的价值。我知道我应该使用__global__ void assign(float *x, const float &constant, const unsigned int &n) ^ ^ ,但是我想询问是否有其他方法来获取lastname的值,因为第二个属性(lastname)是一个变量。

1 个答案:

答案 0 :(得分:1)

嗯,你的情况很简单,你总是有一个具有2个属性的对象:id和一个未知属性。由于对象没有已定义的顺序,因此您无法假设所需的字段始终位于第二位置

一种方法是迭代键,然后选择一个不等于id的那个:

for(var key in item){ 
    if(key != 'id'){
        $str+= item[key]
    } 
}

类似的方法是选择对象键,过滤掉id,然后用该键访问对象:

 $str+= item[Object.keys(item).filter(function(k){return k != 'id'})[0]]

如果你知道密钥的可能值,另一种方法是:

var possibleKeys = ['lastname', 'name', 'adress', 'phonenumber']

 for(var key in item){ 
    if(possibleKeys.indexOf(key) != -1){ // if its a valid key, append the value
        $str+= item[key]
    } 
}   

在你的情况下,第一个选项可能是最好的,但有多种方法可以做到这一点