【发布时间】:2019-10-05 20:24:17
【问题描述】:
我正在尝试根据内部代码对多个数组进行排序,我能够根据单个代码进行排序,但我无法根据同一数组中的多个代码进行排序
我正在尝试使用过滤器并在 javascript 中查找
我的模拟 Json 是
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'));
任何帮助将不胜感激。
【问题讨论】:
-
您的预期输出是什么?
'25' !== '24',因此您当前的代码将永远找不到任何东西(除非.lob是不纯的吸气剂或类似的东西) -
当我们在响应中同时包含代码“25”和“24”时,我需要对数组进行排序。 (我的错不是 .lob 它的 .code)
-
@Eddie 不,它不起作用:(
标签: javascript reactjs filtering