使用对象属性(javascript)从对象数组中删除元素
拥有一个对象数组:使用对象属性(javascript)从对象数组中删除元素,javascript,jquery,arrays,Javascript,Jquery,Arrays,拥有一个对象数组: { sid:11, scode:"code", sname:"Sam" }, { sid:12, scode:"code", sname:"Sam" }, { sid:13, scode:"code", sname:"Sam" }, { sid:14, scode:"code", sname:"Sam" }, { sid:13, scode:"code", sname:"Sam" }, { sid:139, scode:"code", sname:"Jake"} { sid:
{ sid:11, scode:"code", sname:"Sam" },
{ sid:12, scode:"code", sname:"Sam" },
{ sid:13, scode:"code", sname:"Sam" },
{ sid:14, scode:"code", sname:"Sam" },
{ sid:13, scode:"code", sname:"Sam" },
{ sid:139, scode:"code", sname:"Jake"}
{ sid:134, scode:"code", sname:"Jake"}
只需要从此阵列中删除sname:Sam和sid:13的对象。
在结果中得到下一个:
{ sid:11, scode:"code", sname:"Sam" },
{ sid:12, scode:"code", sname:"Sam" },
{ sid:14, scode:"code", sname:"Sam" },
{ sid:139, scode:"code", sname:"Jake"}
{ sid:134, scode:"code", sname:"Jake"}
非常感谢Javascript或jQuery示例!
谢谢 使用Arrayfilter很容易做到这一点 范例 另一个例子 这里是另一个例子,在数组原型中使用不同的函数来创建一个类似于下划线拒绝方法的函数
var reject = function(array, params) {
return array.filter(function(element) {
return !Object.keys(params).map(function(key){
return params[key] === element[key]
}).reduce(function(memo, bool){
return memo & bool
})
})
}
console.log(reject(array, {sid: 13, sname: "Sam"}))
有用链接:
Array.prototype.filter
不太有用但有用的链接:
jQuery筛选函数:
下划线.js拒绝函数:
别忘了sname:SamYou没有使用jQuery的过滤方法,你使用的是Array.prototype.filter函数。我知道我没有,我想我会是一个好人,并与他分享。“但谢谢你指出这一点。”姆博滕斯回答得很好。非常感谢你!欢迎来到堆栈溢出!请阅读,也请阅读。你必须展示你自己为找到解决方案所做的一些努力。这不是给我一个代码类型的网站。顺便说一句,欢迎登机。
var reject = function(array, params) {
return array.filter(function(element) {
return !Object.keys(params).map(function(key){
return params[key] === element[key]
}).reduce(function(memo, bool){
return memo & bool
})
})
}
console.log(reject(array, {sid: 13, sname: "Sam"}))