Javascript 如何在JSON中对数组进行排序以获取特定索引的值?

Javascript 如何在JSON中对数组进行排序以获取特定索引的值?,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,嗨,我对JSON和API非常陌生,我正在开发一个API,在这个API中我获得了数组中的值 { id: 0, text: "one" } { id: 1, text: "two" } { id: 2, text: "three" } 我只想要id=0的数组的值,我不知道如何在JSON中对数组排序来实现这一点,我使用ajax来获取这个值 async function getDataFromId() {

嗨,我对JSON和API非常陌生,我正在开发一个API,在这个API中我获得了数组中的值

{
   id: 0,
   text: "one"
}
{
   id: 1,
   text: "two"
}
{
   id: 2,
   text: "three"
}
我只想要
id=0
的数组的值,我不知道如何在JSON中对数组排序来实现这一点,我使用ajax来获取这个值

async function getDataFromId() {
    let url = 'API_URL';
    let Qid = 1;
    let result;
    try {
        result = await jQuery.ajax({
            url: url,
            type: 'GET',
            contentType: 'application/json',
        });
        result = result.sort((a, b) => a.id- b.id);
        console.log(result)
    }catch (error) {
        console.error(error);
    }
}

您不需要对数组进行排序就可以获得id==0的对象。 使用数组#find查找您想要的对象


让myObject=myArr.find((_o)=>u o.id==0);

不需要对数组进行排序就可以得到id==0的对象。 使用数组#find查找您想要的对象


让myObject=myArr.find((_o)=>u o.id==0);
可能是这样的:

if(结果){
resultSorted=result.sort((a,b)=>a.id-b.id);
resultFiltered=result.filter(x=>x.id==0);
}
可能是这样的:

if(结果){
resultSorted=result.sort((a,b)=>a.id-b.id);
resultFiltered=result.filter(x=>x.id==0);
}
我只需要id=0的数组的值

您正在根据结果的ID以升序对结果进行正确排序,因此只剩下创建一个只包含第一个元素的数组:

result=result.sort((a,b)=>a.id-b.id)
console.log([结果[0])
您可以利用所处的条件来过滤数组。在这种情况下:
id==0
。这将删除与条件()不匹配的元素:

result=result.filter((a)=>a.id==0)
console.log(结果)
请记住,
排序
一个数组比只对它进行
过滤要昂贵得多,因此如果您只想保留id==0的数组,我肯定会选择
过滤器
选项

我只需要id=0的数组的值

您正在根据结果的ID以升序对结果进行正确排序,因此只剩下创建一个只包含第一个元素的数组:

result=result.sort((a,b)=>a.id-b.id)
console.log([结果[0])
您可以利用所处的条件来过滤数组。在这种情况下:
id==0
。这将删除与条件()不匹配的元素:

result=result.filter((a)=>a.id==0)
console.log(结果)

请记住,
排序
数组比只对其进行
过滤要昂贵得多,因此如果您只想保留id==0的数组,我肯定会选择
过滤器
选项

以上所有答案都很好,但您使用的是变量
Qid

result = result.filter(function(i){return i.id === Qid});
console.log(resulr)

您不需要对其进行排序,您可以对其进行筛选,这对于您的工作来说将是更容易的事情

以上所有答案都很好,但您使用的是变量
Qid

result = result.filter(function(i){return i.id === Qid});
console.log(resulr)

你不需要对它进行排序,你可以对它进行筛选,这对你的工作来说会更容易

如果你只想要
id=0的值,为什么你需要对它进行排序?筛选还不够吗?@Turtlean我很抱歉,这是一个非常简单的事情,但是,如何筛选?试试这个:
var new\u array=result.filter(函数(I){return I.id==0})
如果只需要id=0的值,为什么需要对其进行排序?过滤还不够吗?@Turtlean很抱歉,这是一件非常棘手的事情,但是,如何过滤?试试这个:
var new\u array=result.filter(函数(I){return I.id==0})