Tổng đài tư vấn: 033 688 8648
Hotline: 039 511 6390
Loại bỏ các phần tử trùng nhau trong mảng lồng - Javacript - PHP - Các ngôn ngữ khác tương tự
Giả sử ta có 1 mảng như sau :
this.state.list_right = [
{
"title": "b",
"key": "b",
"prefix": "",
"edit": "24",
"type": "string"
},
{
"title": "c",
"key": "c",
"prefix": "",
"edit": "4",
"type": "string"
},
{
"title": "b",
"key": "b",
"prefix": "",
"edit": "24",
"type": "string"
},
{
"title": "c",
"key": "c",
"prefix": "",
"edit": "4",
"type": "string"
},
{
"title": "b",
"key": "b",
"prefix": "",
"edit": "24",
"type": "string"
},
{
"title": "c",
"key": "c",
"prefix": "",
"edit": "4",
"type": "string"
}
]
Nhiệm vụ ta cần loại bỏ các obj trùng lặp trong mảng này.
Bước 1 : ta khai báo 1 hàm trung gian để xử lý tác vụ này như sau
isExist = (arr, x) => {
for (let i = 0; i < arr.length; i++) {
if (arr[i].key === x.key) return true;
}
return false;
};
Bước 2 : Trong hàm xử lý logic cần loại bỏ trùng lặp ta gọi hàm trung gian này như sau, và đồng thời gán các phần tử không trùng lặp ra 1 mảng mới
const obj = {
title: arrayKeyMetadata[keyMeta],
key: arrayKeyMetadata[keyMeta],
prefix: '',
edit: Object.values(metadata)[keyMeta],
type: 'string',
}
if (!this.isExist(this.state.list_right, obj)) this.state.list_right.push(obj);
Chúc bạn thành công !