Lấy giá trị khác nhau đầu tiên, cuối trong một mảng Object (ok)

https://stackoverflow.com/questions/9229645/remove-duplicate-values-from-js-array

// ===
function uniqByKeepFirst(a, key) {
	let seen = new Set();
	return a.filter(item => {
		let k = key(item);
		return seen.has(k) ? false : seen.add(k);
	});
}

function uniqByKeepLast(a, key) {
	return [...new Map(a.map(x => [key(x), x])).values()]
}
//
data = [{
	a: 1,
	u: 1
}, {
	a: 2,
	u: 2
}, {
	a: 3,
	u: 1
}, {
	a: 4,
	u: 1
}, {
	a: 5,
	u: 1
}, {
	a: 6,
	u: 3
}, ];
// Lấy giá trị khác nhau đầu tiên trong một mảng Object
console.log(uniqByKeepFirst(data, it => it.u))
// Lấy giá trị giống nhau cuối cùng trong một mảng Object
console.log(uniqByKeepLast(data, it => it.u))

Last updated

Navigation

Lionel

@Copyright 2023