Javascript 如何在JSON中对数组进行排序以获取特定索引的值?
嗨,我对JSON和API非常陌生,我正在开发一个API,在这个API中我获得了数组中的值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() {
{
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})