js根据属性删除对象数组里的相应对象
比如一个卡列表,要在这个列表中删除其中一项,删除后不重新调获取接口,而是直接前端更新页面,比如用vue只要改变开始卡列表的model就会自动渲染页面。

这个卡列表的model自然是一个对象数组[{cardid:001,cardno:"432434234"},{cardid:002,cardno:"546436"},...],cardid是唯一的,每一项都不一样,删除的时候就根据这个属性来删除。
下面就是根据属性从对象数组里删除对应对象的方法:(一次只能删一个)
removeByValue: function(arr, attr, value) { //数组,属性,属性值
var index=0;
for(var i in arr){
if(arr[i][attr]==value){
index=i;
break;
}
}
arr.splice(index,1);
}使用这个方法的时候,只要在调用删除接口的success回调里这样写
Util.removeByValue(that.cards,"cardid",cardId); //卡列表数组,属性,被删卡的属性值
根据对象数组中某一属性的值删除包含这一属性值的对象
// 原数组
var cars = [
{type:"BMW", year:2017},
{type:"Audi", year:2019},
{type:"porsche", year:2018}
];
// 方法
function removeByValue(arr, attr, value)
{
var index=0;
for(var i in arr){
if(arr[i][attr]==value){
index=i;
break;
}
}
arr.splice(index,1);
}
removeByValue(cars,"type","BMW");
console.log(cars);箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。
相关文章
JavaScript插件为什么看不懂,使用了什么技术?(示例讲解)
JavaScript插件难以理解通常由以下技术原因造成:设计模式密集化、压缩混淆技术、异步控制迷宫、元编程技巧、依赖管理黑盒,这些技术本用于代码优化和安全保护,但过度使用会导致可读性急剧下降,建议调试时使用sourcemap反向映射,或通过AST分析工具还原代码结构2025-08-08
JavaScript使用FileReader实现图片上传预览效果
这篇文章主要为大家详细介绍了JavaScript使用FileReader实现图片上传预览效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-09-09
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
今天小编就为大家分享一篇在layui中对table中的数据进行判断(0、1)转换为提示信息的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-09-09
Uniapp WebView全屏导致遮挡状态栏的解决方案及注意事项
这篇文章主要介绍了Uniapp WebView全屏导致遮挡状态栏的解决方案及注意事项,通过动态调整WebView的布局,确保状态栏可见,文中通过代码介绍的非常详细,需要的朋友可以参考下2025-05-05
前端JavaScript模块化解析之ESModule用法示例
ES Module是ECMAScript 2015引入的模块化规范,通过export和import关键字实现模块的导入导出,这篇文章主要介绍了前端JavaScript模块化解析之ESModule用法的相关资料,需要的朋友可以参考下2025-07-07


最新评论