简介
对象是具有可变值的JavaScript中的非重要数据类型,也就是说,它们的值可以更改。这些值可能是另一组似乎很麻烦的数据。
在本文中,我将向您展示为什么您应该关心对象以及在没有歧义的情况下操纵JavaScript中复杂对象的方法。
让我们开始。
什么是对象?
一个对象只是一组数据。让我看到一个人。这具有特定的描述(例如外观和性格),并且还可以拥有一些也具有特定描述的东西(例如汽车),在那辆车中,该人可以携带其他人和事物。这就是对象可以将另一个对象甚至数组分组的方式。由于我们将一个人视为对象,因此我们可以说下面的人是一个对象,描述是他的属性。
javascript中的对象
对象是要理解为开发人员的最重要的概念或数据结构之一,因为大多数时间,您都将使用数据集合;用户配置文件,数字博客文章,评论和答复,喜欢和共享等。对象允许我们以一种易于访问的形式对这些数据进行分组。让我们回到上面谈论的人。
假设这个人是一个男人,他说英语,有棕色的头发,穿着蓝色的T恤,牛仔裤,一个狡猾的人,这个男人在唱歌和跳舞,一边驾驶他的黑色,丰田Camry 2015汽车。这些数据可以分组为。
var man = {
"gender" : "Male",
"language" : "English",
"hair color" : "Brown",
"shirt color" : "Blue",
"trouser" : "Jean",
"shoe" : "Snickers",
"events" : ["Singing", "Dancing", "Driving"],
"car" : {
"brand" : "Toyota",
"model" : "2015",
"color" : "Black"
}
}
var person = man.events;
console.log(person); // ["Singing","Dancing","Driving"]
为了创建一个新的对象数据结构,您需要将对象的属性包裹在撑杆中。您会注意到,每个属性都有一个名称,后跟结肠和值,然后由上述逗号分隔。这就是为什么对象数据结构称为钥匙值对数据结构的原因。每个名称都是关键,而在结肠之后的任何内容都是其价值。也就是说,性别是关键,男性是其价值。
我们可以通过其值或通过其密钥轻松访问此对象。
访问对象中的数据
现在我们已经看到了如何在对象中创建和存储数据,下一个问题是,我们如何访问对象内部创建的数据,就像我们很容易指向他的T恤一样。
可以通过两种方式访问对象中的单个属性:
- dot表示法 - 这用于访问对象的属性,当时属性是字面的。
例如。在上面的示例中访问性别和事件的价值。我们只需写入对象的名称,一个点,然后是键。
即
var person = man.gender;
console.log(person); // “Male
var person = man.events;
console.log(person); // ["Singing","Dancing","Driving"]
- 括号符号 - 当属性不是文字时,它用于访问对象的属性。也就是说,这是一个语句
例如。在上面的示例中访问头发颜色的价值。我们只需写入对象的名称,即一个方括号,然后是方括号内的钥匙。即
var person = man["shirt color"];
console.log(person); // “Blue”
操纵复杂对象
现在,我们已经学习了如何访问对象中的属性,让我们看看如何访问嵌套对象的属性。
让我们在汽车财产中访问品牌的价值。
var = person = man.car.brand // “Toyota”
在文本编辑器中键入代码,然后在控制台中检查您的结果。或使用在线文本编辑器(例如代码笔)尝试一下。
让我们构建一个项目
在此项目中,我们想删除任何没有专辑详细信息的专辑,并使用不完整的专辑详细信息更新这些专辑。我们将使用专辑目录编号2468、2648、3548和5439。
var collection = {
"2548" : {
"album" : "Implication",
"artist" : "2face Idibia",
"tracks" : [ "Spiritual healing",
"you Give Love a Bad Name"
]
},
"2468" : {
"album" : "Beautiful Imperfection",
"artist" : "Asa",
"tracks" : [ "Bed of Stone",
"Awe"
]
},
"2548" : {
"artist" : "R-Kelly",
"tracks" : []
},
"5439" : {
"album" : "Adekunle"
}
};
//we will check album that doesn't have details and update album.
function updateRecords(id , prop, value) {
if (value === "") {
delete collection[id][prop];
} else if (prop === "tracks") {
collection[id][prop] = collection[id][prop] || [];
collection[id][prop].push(value);
} else {
collection[id][prop] = value;
}
return collection;
}
console.log(updateRecords(2468, "tracks", "test"));
console.log(updateRecords(5439, "artist", "Adekunle Gold"));
//Output
/* "2468" : {
"album" : "Beautiful Imperfection",
"artist" : "Asa",
"tracks" : [ "Bed of Stone",
"Awe”,
“Test”
]
},
"2548" : {
"artist" : "R-Kelly",
"tracks" : []
},
"5439" : {
"album" : "Adekunle”,
“Artist” : “Adekunle Gold”
}
}; */
取走
- 对象是非关键数据类型。
- 对象确实具有属性,并且属性以键和值表示。 (称为钥匙值对)
- 对象可以嵌套在另一个对象中。
- 可以通过点或括号符号访问对象的属性。
接下来是什么?
学习编程的最佳方法是编写代码。尝试解决更多与对象有关的问题,甚至提出一个问题,并在本文中学习的每种方法来抓住它。
总结
哇,你读到最后,真是太棒了。如果您喜欢并发现这篇文章足智多谋考虑与您的社区共享。如果您想从我看更多这样的文章,我想与您联系。
让我们连接
Twitter @yusfulcoder
lynein Yusuf Olanrewaju