Javascript 对于具有多个数组的对象,根据检查同一数组中的两个值返回数组
我正在尝试基于内部代码对多个数组进行排序,我可以基于单个代码进行排序,但无法基于同一数组中的多个代码进行排序 我正在尝试用javascript中的过滤器和查找来完成它 我的模拟Json是Javascript 对于具有多个数组的对象,根据检查同一数组中的两个值返回数组,javascript,reactjs,filtering,Javascript,Reactjs,Filtering,我正在尝试基于内部代码对多个数组进行排序,我可以基于单个代码进行排序,但无法基于同一数组中的多个代码进行排序 我正在尝试用javascript中的过滤器和查找来完成它 我的模拟Json是 response: [ { id: 1, moreDetails: [ { code: '24', value: some}, { code: '25', value: some}, { code: '04', value: s
response:
[
{ id: 1,
moreDetails: [
{ code: '24', value: some},
{ code: '25', value: some},
{ code: '04', value: some}],
days: 10}
{ id: 2,
moreDetails: [
{ code: '24', value: some},
{ code: '04', value: some}],
days: 10}
{ id: 3,
moreDetails: [
{ code: '24', value: some},
{ code: '25', value: some}],
days: 10}
{ id: 4,
moreDetails: [
{ code: '24', value: some},
{ code: '25', value: some},
{ code: '04', value: some}],
days: 10}
{ id: 5,
moreDetails: [
{ code: '25', value: some},
{ code: '04', value: some}],
days: 10}
我试过这个
const sorttwofive = response.filter(c=> c.moreDetails.find(s => s.code === '25'));
const sorttwofour = response.filter(c=> c.moreDetails.find(s => s.code === '24'));
const sortfour = response.filter(c=> c.moreDetails.find(s => s.code === '04'));
当我想根据两个代码过滤响应时,这些代码工作良好并获得精确的输出。我得到一个空的物体。
我试着这么做
const const sorttwofiveandfour = response.filter(c=> c.moreDetails.find(s => s.code === '25' && s.code === '24'));
任何帮助都将不胜感激。您可以
。通过['24','25']
数组是否通过每个测试来筛选,在更多详细信息中查找匹配的代码:
constsome='some';
常数响应=[{
id:1,
更多详情:[{
代码:‘24’,
价值:一些
},
{
代码:'25',
价值:一些
},
{
代码:‘04’,
价值:一些
}
],
天数:10
},
{
id:2,
更多详情:[{
代码:‘24’,
价值:一些
},
{
代码:‘04’,
价值:一些
}
],
天数:10
},
{
id:3,
更多详情:[{
代码:‘24’,
价值:一些
},
{
代码:'25',
价值:一些
}
],
天数:10
},
{
id:4,
更多详情:[{
代码:‘24’,
价值:一些
},
{
代码:'25',
价值:一些
},
{
代码:‘04’,
价值:一些
}
],
天数:10
},
{
id:5,
更多详情:[{
代码:'25',
价值:一些
},
{
代码:‘04’,
价值:一些
}
],
天数:10
}
];
const objswhichcontaincode24和25=response.filter(
obj=>['24','25']。每(
codeToFind=>obj.moreDetails.find(s=>s.code===codeToFind)
)
);
console.log(包含代码24和25的对象)代码>如果要查找同时包含代码24和25的值,应尝试以下操作
const sorttwofiveandfour = response.filter(c=> c.moreDetails.find(s => s.code === '25') && c.moreDetails.find(s => s.code ==='24'));
你的预期产量是多少<代码>'25'!='24'
,因此您当前的代码将永远找不到任何内容(除非.lob
是不纯的getter或类似的东西),当响应中同时包含代码“25”和“24”时,我需要对数组进行排序。(我的坏消息不是。lob它的。代码)@Eddie不,它不起作用:(