鍍金池/ 問答/HTML/ 通過一個屬性,找到對象里的另一個屬性

通過一個屬性,找到對象里的另一個屬性

有一個數組里包著一堆對象,對象里的屬性有l(wèi)abel和value,已知一個label的值,想找到它在對象里對應的value的值怎么找

例如:圖片中的value,想要找到對應的label圖片描述

回答
編輯回答
孤影

假設label的值為123,對象名objData

objData.forEach(val,index=>{
    if(val.label==123){
        var newVal=val.value;//此時的newVal就是要找的值
    }
})

2017年2月17日 20:06
編輯回答
尋仙

用數組的 filter 篩選,看下面的例子。

var array = [
    {label: '山東省', value: '370000'},
    {label: '吉林省', value: '220000'},
    {label: '湖南省', value: '430000'}
]
function getValue(label, arr) {
    var filterArray = arr.filter(function(v) {
        return v.label === label
    })
    if (filterArray.length) {
        return filterArray[0].value
    }
}

var value = getValue('山東省', array);
console.log(value)
2017年8月31日 17:02
編輯回答
雨萌萌
const findLabel = (arr, value) => arr.find(obj => obj.value === value).label
2018年2月13日 14:32
編輯回答
純妹
var array = [
    { label: '山東省', value: '370000' },
    { label: '吉林省', value: '220000' },
    { label: '湖南省', value: '430000' }
]
const labelToValue = {}
for (let i of array) {
    labelToValue[i.label] = i.value
}

console.log(labelToValue['山東省'])
2018年1月24日 09:35
編輯回答
綰青絲
const findByLabel = (d, label)=>{
    let o = d.find(v=>v.label == label)
    return o? o.value:undefined
}
var data = [
    {label: '廣東省', value: 0},
    {label: '吉林省', value: 1},
    {label: '湖南省', value: 2},
    {label: '廣西', value: 3}
]

findByLabel(data, "廣東省") //得到 0
findByLabel(data, "a")     //得到 undefined

2018年3月14日 01:28
編輯回答
悶騷型
var data = [
        {label: '廣東省', value: 0},
        {label: '吉林省', value: 1},
        {label: '湖南省', value: 2},
        {label: '廣西', value: 3}
    ]

    function getValue(label) {
        for(var v of data){
            if(label==v.label){
                console.log(v.value)
            }
        }
    }
    getValue("廣東省"); //0
2018年3月17日 17:26
編輯回答
入她眼
var label = 'xxx';
var value;
objData.some(function (item) {
    if ( item.label === label) {
        value = item.value;
        return true;
    }
});
2017年4月27日 07:17