JS通过变量访问对象属性

1. 案例引入

代码:
// 设置
const testObj = {
  12: "Namath",
  16: "Montana",
  19: "Unitas"
};

// 只修改这一行下面的代码
const playerNumber = 16;  // 修改这一行
const player = testObj[playerNumber];   // 修改这一行
console.log(player);
运行结果:

在这里插入图片描述

结论:

JavaScript访问对象的方法:点号表示法方括号表示法。点号表示法能表示的,都可以用方括号表示法表示。当属性为变量或者含有空格的字符串时,必须使用方括号表示法才可访问对象属性。
(其中对于含有空格的字符串,还应用双引号或者单引号将其包裹再套入方括号中)

2. 综合案例

代码:
// 设置
const recordCollection = {
  2548: {
    albumTitle: 'Slippery When Wet',
    artist: 'Bon Jovi',
    tracks: ['Let It Rock', 'You Give Love a Bad Name']
  },
  2468: {
    albumTitle: '1999',
    artist: 'Prince',
    tracks: ['1999', 'Little Red Corvette']
  },
  1245: {
    artist: 'Robert Palmer',
    tracks: []
  },
  5439: {
    albumTitle: 'ABBA Gold'
  }
};

// 只修改这一行下面的代码
function updateRecords(records, id, prop, value) {
  if (prop !== "tracks" && value !== '') {
    records[id][prop] = value;
  }
  if (prop === "tracks" && !(records[id].hasOwnProperty("tracks"))) {
    records[id][prop] = [value];
  }
  if (prop === "tracks" && value !== '') {
    records[id][prop].push(value);
  }
  if (value === '') {
    delete records[id][prop];
  }
  return records;
}
console.log(updateRecords(recordCollection, 5439, 'artist', 'ABBA'));
运行结果:

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值