如何在JavaScript中操纵复杂对象
#javascript #网络开发人员 #初学者 #webassembly

简介

对象是具有可变值的JavaScript中的非重要数据类型,也就是说,它们的值可以更改。这些值可能是另一组似乎很麻烦的数据。

在本文中,我将向您展示为什么您应该关心对象以及在没有歧义的情况下操纵JavaScript中复杂对象的方法。

让我们开始。

GIF of let's get started

什么是对象?

一个对象只是一组数据。让我看到一个人。这具有特定的描述(例如外观和性格),并且还可以拥有一些也具有特定描述的东西(例如汽车),在那辆车中,该人可以携带其他人和事物。这就是对象可以将另一个对象甚至数组分组的方式。由于我们将一个人视为对象,因此我们可以说下面的人是一个对象,描述是他的属性。

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恤一样。
可以通过两种方式访问​​对象中的单个属性:

  1. dot表示法 - 这用于访问对象的属性,当时属性是字面的。

例如。在上面的示例中访问性别和事件的价值。我们只需写入对象的名称,一个点,然后是键。

var person = man.gender;
console.log(person); // “Male

var person = man.events;
console.log(person); // ["Singing","Dancing","Driving"]

  1. 括号符号 - 当属性不是文字时,它用于访问对象的属性。也就是说,这是一个语句

例如。在上面的示例中访问头发颜色的价值。我们只需写入对象的名称,即一个方括号,然后是方括号内的钥匙。即

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”
  }
}; */

取走

  1. 对象是非关键数据类型。
  2. 对象确实具有属性,并且属性以键和值表示。 (称为钥匙值对)
  3. 对象可以嵌套在另一个对象中。
  4. 可以通过点或括号符号访问对象的属性。

接下来是什么?

学习编程的最佳方法是编写代码。尝试解决更多与对象有关的问题,甚至提出一个问题,并在本文中学习的每种方法来抓住它。

总结

哇,你读到最后,真是太棒了。如果您喜欢并发现这篇文章足智多谋考虑与您的社区共享。如果您想从我看更多这样的文章,我想与您联系。

让我们连接

Twitter @yusfulcoder

lynein Yusuf Olanrewaju