对象操作
2024年12月10日大约 1 分钟
对 对象 数组操作
let arr = [
{
name: 'Homo',
type: '114514',
gender: '♂♂♂',
},
{
name: '蔡徐坤',
type: '唱,跳,rep,篮球',
gender: 'man',
},
{
name: '东雪莲',
type: '谁是罕见',
gender: 'girl',
},
{
// 函数 方法
yuanshen: function () {
console.log('元神,气动');
},
},
{
name: '华强',
type: '给你机会你不中用啊',
gender: 'man',
},
{
name: '龙',
type: '你好,你XX了',
gender: 'xxx',
},
{
name: '科比',
type: '曼巴凹特',
gender: 'man',
},
];
console.log('================[读取]=====================');
console.log(arr[0].name); // 第一种方法
arr[0]['gender'] = 'man';
console.log(arr[0]['gender']); // 第二种方法
console.log('=================[删除]=====================');
// 用 splice 删除并调整索引
/** delete arr[1] 会出现问题
* delete 语句会移除数组中的元素,
* 但不会更新数组的索引结构。
* 也就是说,数组的长度不会发生变化,
* 但 arr[1] 会变为 undefined
*/
arr.splice(1, 1);
console.log(arr);
console.log('==============[调用 函数 方法]================');
arr[2].yuanshen();
console.log('==============[遍历数组 for in]===============');
// 遍历数组 for in
for (let key in arr[1]) {
console.log(key); // 获取为属性 'name' 'type'
console.log(arr[1][key]); // 获取为值
}
console.log('================[遍历数组 name]================');
// 遍历数组 name
for (let index = 0; index < arr.length; index++) {
if (!arr[index]) continue; // 跳过 undefined
console.log(arr[index].name);
}
console.log('=====================[全明星]===================');
for (let i = 0; i < arr.length; i++) {
if (!arr[i].name) continue; // 跳过 undefined
let alt = (`
序号:${i + 1}
名:${arr[i].name}
经典:${arr[i].type}
性别:${arr[i].gender}
`)
console.log(alt)
}