เราต้องเขียนฟังก์ชันที่รับออบเจกต์ที่มีหลายคีย์ และแทนที่ค่าเท็จ (falsy values) ทั้งหมดด้วยขีด (' - ') เราจะเพียงวนลูปผ่านออบเจกต์ต้นฉบับ ตรวจสอบคีย์ที่มีค่าเท็จ และแทนที่ค่าเท็จเหล่านั้นด้วย '-' โดยไม่ใช้พื้นที่เพิ่มเติม (คือ in-place)
ตัวอย่าง
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);ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้
{ key1: 'Hello', key2: 'World', key3: '-', key4: 45, key5: 'can i use arrays', key6: '-', key7: 'fast n furious', key8: '-', key9: '-', key10: '-' }