Chúng ta cần viết hàm nhận vào một object với nhiều khóa và thay thế tất cả các giá trị falsy bằng dấu gạch ngang (' - '). Chỉ cần duyệt qua object gốc, kiểm tra khóa chứa giá trị falsy, và thay thế chúng bằng '-' tại chỗ (in-place) mà không tốn bộ nhớ thêm.
Ví dụ
const obj = {
key1: 'Hello',
key2: 'World',
key3: '',
key4: 45,
key5: 'can i use arrays',
key6: null,
key7: 'fast n furious',
key8: undefined,
key9: '',
key10: NaN,
};
const swapValue = (obj) => {
Object.keys(obj).forEach(key => {
if (!obj[key]) {
obj[key] = '-';
}
});
};
swapValue(obj);
console.log(obj);Kết quả
Đầu ra trong console sẽ là:
{
key1: 'Hello',
key2: 'World',
key3: '-',
key4: 45,
key5: 'can i use arrays',
key6: '-',
key7: 'fast n furious',
key8: '-',
key9: '-',
key10: '-'
}