Cho object chứa các mảng số:
const obj = {
a: [15, 23, 36, 49, 104, 211],
b: [9, 12, 23],
c: [11, 17, 18, 23, 38],
d: [13, 21, 23, 27, 40, 85]
};Số mảng không cố định. Viết hàm trả về mảng phần tử chung của tất cả mảng con.
Kết quả: [23]
Ví dụ
const obj = {
a: [15, 23, 36, 49, 104, 211],
b: [9, 12, 23],
c: [11, 17, 18, 23, 38],
d: [13, 21, 23, 27, 40, 85]
};
const commonBetweenTwo = (arr1, arr2) => {
const res = [];
for(let i = 0; i < arr1.length; i++){
if(arr2.includes(arr1[i])){ res.push(arr1[i]); };
};
return res;
};
const commonBetweenMany = (obj = {}) => {
const keys = Object.keys(obj);
let res = obj[keys[0]];
for(let i = 1; i < keys.length - 1; i++){
res = commonBetweenTwo(res, obj[keys[i]]);
if(!res.length) return [];
};
return res;
};
console.log(commonBetweenMany(obj));Kết quả
Kết quả in ra console:
[23]