javascript - 从数组角度中删除指定的项目
问题描述
我知道我可以从数组中删除最后一项,但我需要删除基于指定项的值这是我的数组
arrayItems: {
volume: number;
title: string;
}[];
this.arrayItems = [{
volume: 11,
title: 'Title'
}];
这是我的例子,我有 html
<div *ngFor="let arrayItem of arrayItems; let i=index">
<label>{{arrayItem.i}}</label>
<div (click)="removeItem(i)">remove item</div>
</div>
并添加和删除项目
addItem() {
const item = {
volume: 2,
title: 'Naslov 2'
};
this.arrayItems.push(item);
}
removeItem(index) {
this.arrayItems.slice(index, 1);
}
但是 removeItem() 不起作用,知道为什么这是错误的吗?
解决方案
这是因为您使用Array.slice
,Array.splice
代替。SLice 不会更改原始数组而是返回一个新数组,但是 splice 也会修改原始数组(供参考,请参见此处)
推荐阅读
- c# - ASP.NET API Core:在嵌套方法中设置结果
- javascript - 如何使用 props 更改 fetch 语句 React JS 中的 url?
- python - 绘制 RidgeCV 系数作为正则化的函数
- machine-learning - 空间变压器网络中的投资回报率裁剪
- r - 当某些组对于某些模型为空时,使用 purrr 的图按组估计线性回归
- php - 变形字段 id 大小大于 1 的 Laravel 变形表
- php - PHP没有在类中抛出指定的错误消息
- flutter - 动画尺寸增量增加,动画仅在第一次增量时平滑,颤动
- python - 使用 pandas 将值映射到字典
- python - 从 AWS Lambda 函数返回音频文件作为响应