gpt4 book ai didi

javascript - 与第二个数组中的对象属性值相比,返回过滤后的数组一次

转载 作者:行者123 更新时间:2023-11-29 10:58:11 25 4
gpt4 key购买 nike

我需要根据用户输入的内容动态更新我的 AngularJS 应用程序中的表格。我有一个 updateCategory 函数,该函数由 View 中的 ng-change 调用,并且应该向 Controller 中的 vm.portfolioData 返回一个新数组。

el.serviceList提供了一个属性serviceStatus,它提供了一个字符串值,然后需要在一秒钟内检查它是否包含在对象属性中数组,actionStatus:

function updateCategory(obj, position) {
vm.portfolioData = patents;
vm.portfolioData = vm.portfolioData.filter(function(el){
return el.serviceList.filter(function(item){
//item.serviceStatus: "Epct available"
//NEED TO RETURN EL IF STATUS IS CONTAINED IN SECOND ARRAY
}
})
}

第二个数组

actionStatus: [
{name: 'Epct available'},
{name: 'Epct saved'},
{name: 'Form 1200 saved'},
{name: 'Epct rejected'},
{name: 'Show price'},
{name: 'Open for Renewal'},
{name: 'Form 1200 generating'}
]

问题

一旦我检查了 serviceStatus 值是否包含在第二个数组中的任何对象属性 name 中,我该如何返回新的过滤数组?

最佳答案

试试这个:

const serviceList = [
{serviceStatus: 'Epct available'},
{serviceStatus: 'Epct not available'},
];

const actionStatus = [
{name: 'Epct available'},
{name: 'Epct saved'},
{name: 'Form 1200 saved'},
{name: 'Epct rejected'},
{name: 'Show price'},
{name: 'Open for Renewal'},
{name: 'Form 1200 generating'}
];

const actionStatusStrings = actionStatus.map(item => item.name);

const filteredArray = serviceList.filter(item => {
return actionStatusStrings.includes(item.serviceStatus);
});

关于您的情况:

function updateCategory(obj, position) {
vm.portfolioData = patents;

const actionStatusStrings = actionStatus.map(item => item.name);

vm.portfolioData = vm.portfolioData.filter(el => {
return el.serviceList.find(item => {
return actionStatusStrings.includes(item.serviceStatus);
});
})
}

关于javascript - 与第二个数组中的对象属性值相比,返回过滤后的数组一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52870456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com