找到一个数组对象中 '某某某(属性名)'为 ['某某','某某']的值

**例如:找到 objList 中 name是 demo1 demo2 demo 的对象 并返回
例如返回结果为:[{name:‘demo1’,value:1},{name:‘demo2’,value:2},{name:‘demo3’,value:3}]
**

var list = ['demo1','demo2','demo3']
var objList = [
	{
		name:'demo1',
		value: 1
	},
	{
		name: 'demo2',
		value: 2
	},
	{
		name: 'demo3',
		value: 3
	},
	{
		name: 'demo4',
		value: 4
	},
	{
		name: 'demo5',
		value: 5
	},
	{
		name: 'demo1',
		value: 1
	}
]
console.log(fn(list, objList, 'name'))

直接上代码

/*
list:属性名为 ... ... 的值   type  Array
objList: 需要在这个数组对象中找 type Array
attrName: 属性名 type string
*/
function fn(list,ObjList,attrName){
	if (!Array.isArray(list) || !Array.isArray(ObjList) || attrName === undefined ) {
		return -1
	}

	var newList = []
	list.forEach(function (v) {
		for (var i = 0; i < objList.length; i++) { 
			if (objList[i][attrName] === v) {
				var isExist = false
				newList.forEach(function (value) {
					if (value[attrName] === v) {
						isExist = true
					}
				})
				if (!isExist) {
					newList.push(objList[i])
				}
			}
			
		}
	})
	return newList
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值