如何使用jQuery从数组中选择单个项?

时间:2017-01-13 10:05:29

标签: javascript jquery arrays

我在数组中有ID和说明:



var tablica = [{"3":"asdasd asd"},{"19":"asddas fff"},{"111111":"adas asf asdff ff"},{"4":"re"},{"5":"asdasd"},{"6":"we"},{"7":"asdasdgg"},{"9":"asdasdasd"},{"16":"sdads"},{"10":"asdgg"},{"11":"ggg"}];




如何使用jQuery或JavaScript选择ID的单个描述?

4 个答案:

答案 0 :(得分:1)

使用es6,



var tablica = [{"3":"asdasd asd"},{"19":"asddas fff"},{"3":"adas asf asdff ff"},{"4":"re"},{"5":"asdasd"},{"6":"we"},{"7":"asdasdgg"},{"9":"asdasdasd"},{"16":"sdads"},{"10":"asdgg"},{"11":"ggg"}];

var res =  tablica.filter(x=> x["3"])
console.log(res);




答案 1 :(得分:1)

虽然对象中有重复的键,但我建议使用Array#filter并稍后使用您需要的对象信息。



var data = [{ 3: "asdasd asd" }, { 19: "asddas fff" }, { 3: "adas asf asdff ff" }, { 4: "re" }, { 5: "asdasd" }, { 6: "we" }, { 7: "asdasdgg" }, { 9: "asdasdasd" }, { 16: "sdads" }, { 10: "asdgg" }, { 11: "ggg" }],
    key = 3,
    result = data.filter(function (o) {
        return key in o;
    });

console.log(result);

.as-console-wrapper { max-height: 100% !important; top: 0; }




答案 2 :(得分:1)

我认为最好的方法是将此数组转换为对象,其中描述的键将是ID。这样就无需在每次要查找描述时进行搜索。只有在准备好对象之后,您才能轻松快速地访问该描述。

例如:

var tablica = [{"3":"asdasd asd"},{"19":"asddas fff"},{"3":"adas asf asdff ff"},{"4":"re"},{"5":"asdasd"},{"6":"we"},{"7":"asdasdgg"},{"9":"asdasdasd"},{"16":"sdads"},{"10":"asdgg"},{"11":"ggg"}];
var obj = {};
tablica.forEach(function(el){
  var id = Object.keys(el)[0];
  obj[id] = el[id];
});

console.log(obj['5']);

现在,如果您想获取ID = 5的说明,您可以轻松访问它obj['5']

答案 3 :(得分:-1)

嗯,因为你有一个对象数组

,所以有点复杂

您可以解析整个数组,并为其中的每个对象检查它是否具有所需的键:



var tablica = [{"3":"asdasd asd"},{"19":"asddas fff"},{"3":"adas asf asdff ff"},{"4":"re"},{"5":"asdasd"},{"6":"we"},{"7":"asdasdgg"},{"9":"asdasdasd"},{"16":"sdads"},{"10":"asdgg"},{"11":"ggg"}];

var wantedId = "3"; // the ID you actually search
var wantedObj;

tablica.map(function(obj) {
    if (wantedId in obj) {
        wantedObj = obj;
    }
});

console.log(wantedObj);




无论如何,你应该修复你的数据结构:数组的每个对象应该有一个属性id和一个属性value(或类似的东西)

var tablica = [
    {
        id: "3",
        value: "asdasd asd"
    },
    {
        id: "19",
        value: "asddas fff"
    }
];