如何在javaScript中从数组中删除项
我需要删除阵列中的特定项。以下是阵列(状态)如何在javaScript中从数组中删除项,javascript,angularjs,Javascript,Angularjs,我需要删除阵列中的特定项。以下是阵列(状态) 0:{id:5,说明:“分配”} 1:{id:8,说明:“商业案例审查”} 2:{id:4,说明:“已取消”} 3:{id:3,说明:“已关闭”} 4:{id:6,说明:“确认”} 5:{id:7,说明:“未启动”} 6:{id:2,说明:“暂停”} 7:{id:18,说明:“待CEMT批准”} 8:{id:9,说明:“问题陈述审查”} 9:{id:10,说明:“审查委员会”} 代码: forEach状态(功能(ap) {if(ap.descript
0:{id:5,说明:“分配”}
1:{id:8,说明:“商业案例审查”}
2:{id:4,说明:“已取消”}
3:{id:3,说明:“已关闭”}
4:{id:6,说明:“确认”}
5:{id:7,说明:“未启动”}
6:{id:2,说明:“暂停”}
7:{id:18,说明:“待CEMT批准”}
8:{id:9,说明:“问题陈述审查”}
9:{id:10,说明:“审查委员会”}
代码:
forEach状态(功能(ap)
{if(ap.description!=“未启动”
&&美联社描述!=“审查委员会”
&&ap.description!=“已取消”
&&ap.description!=“商业案例审查”
&&ap.description!=“问题陈述回顾”
)
{
状态。拼接(状态。索引(ap),1);
}
})
输出:
业务案例审查、取消、确认、未启动、待定
CEMT批准、问题陈述审查、审查委员会。渴望的
输出:业务案例审查、取消、未启动、问题陈述
审查,审查委员会
在检查删除以下数组中的项后的条件是否会移动到上一个项索引,因为当前项不会来进行验证,这是导致问题的原因。有人可以在这方面提供帮助。您可以使用filter方法() 例如:
array.filter(element => element.description !== "Business Case Review")
将返回一个新数组,其中包含除“Business Case Review”作为说明的对象之外的所有对象将筛选器定义为数组,然后使用该筛选器筛选数组,如下所示:
const filters = [
'Not Started',
'Review Board',
'Cancelled',
'Business Case Review',
'Problem Statement Review'
]
var filteredResult = yourArray.filter(element => !filters.includes(element.description))
let状态=[
{id:5,说明:“分配”},
{id:8,说明:“商业案例审查”},
{id:4,说明:“已取消”},
{id:3,description:“Closed”},
{id:6,description:“Confirm”},
{id:7,说明:“未启动”},
{id:2,说明:“暂停”},
{id:18,说明:“待CEMT批准”},
{id:9,描述:“问题陈述回顾”},
{id:10,说明:“审查委员会”}
];
让ListOfReveItemIndex=[]
for(让index=0;index{
拼接状态(索引1);
});
日志(“状态:”,状态);
use也许你可以使用一个映射来代替数组……当我作为一个单独的程序执行时,它是工作的,但是当我添加到我的项目代码并进行grunt构建时,它失败了,你能帮助我为什么grunt构建失败吗?>>Uglifying source.tmp/concat/scripts/scripts.js失败了。警告:丑化失败。意外标记:运算符(>)。使用了.tmp/concat/scripts/scripts.js中的第6152行--force,继续。警告:无法读取undefined Used--force的属性“min”,继续。@rajitmp尝试运行grunt--verbose--stack--debug
它说了什么?
let Status = [
{id: 5, description: "Assign"},
{id: 8, description: "Business Case Review"},
{id: 4, description: "Cancelled"},
{id: 3, description: "Closed"},
{id: 6, description: "Confirm"},
{id: 7, description: "Not Started"},
{id: 2, description: "On Hold"},
{id: 18, description: "Pending CEMT Approval"},
{id: 9, description: "Problem Statement Review"},
{id: 10, description: "Review Board"}
];
let listOfRemoveItemIndex = []
for (let index = 0; index < Status.length; index++) {
const ap = Status[index];
if ( ap.description != 'Not Started' && ap.description !='Review Board' && ap.description != 'Cancelled' && ap.description !='Business Case Review' && ap.description !='Problem Statement Review')
{
listOfRemoveItemIndex.push(index);
}
}
listOfRemoveItemIndex.forEach((index) => {
Status.splice(index, 1);
});
console.log(" Status : ", Status);