Javascript 我对数据类型感到困惑

Javascript 我对数据类型感到困惑,javascript,Javascript,我正在处理一个Hack Reactor prep程序问题,下面列出了该问题。我的问题是customerData的数据类型是什么?它看起来是一个对象,但每个属性前面都有一个名称“Joe”,然后是一个键值对。我认为JavaScript对象具有具有键值对的属性 问题是: 编写一个名为“greetCustomer”的函数 给定一个名称,“greetCustomer”会根据该客户访问餐厅的次数返回问候语。请参考customerData对象 问候语应该有所不同,这取决于他们预订的姓名 Case 1 - Un

我正在处理一个Hack Reactor prep程序问题,下面列出了该问题。我的问题是customerData的数据类型是什么?它看起来是一个对象,但每个属性前面都有一个名称“Joe”,然后是一个键值对。我认为JavaScript对象具有具有键值对的属性

问题是:

编写一个名为“greetCustomer”的函数

给定一个名称,“greetCustomer”会根据该客户访问餐厅的次数返回问候语。请参考customerData对象

问候语应该有所不同,这取决于他们预订的姓名

Case 1 - Unknown customer ( Name is not present in customerData ): 

var output = greetCustomer('Terrance');
console.log(output); // --> 'Welcome! Is this your first time?'

Case 2 - Customer who has visited only once ( 'visits' value is 1 ):

var output = greetCustomer('Joe');
console.log(output); // --> 'Welcome back, Joe! We're glad you liked us the first time!'

Case 3 - Repeat customer: ( 'visits' value is greater than 1 ):

var output = greetCustomer('Carol');
console.log(output); // --> 'Welcome back, Carol! So glad to see you again!'

Notes:
* Your function should not alter the customerData object to update the number of visits.
* Do not hardcode to the exact sample data. This is a BAD IDEA:


if (firstName === 'Joe') {
  // do something
}

Starter Code :
*/

var customerData = {
  'Joe': {
    visits: 1
  },
  'Carol': {
    visits: 2
  },
  'Howard': {
    visits: 3
  },
  'Carrie': {
    visits: 4
  }
};

function greetCustomer(firstName) {
  var greeting = '';
  // your code here

  return greeting;
}
它是一个物体

对象文本的语法是
{
}
,包含一组由逗号分隔的键:值对


键可以是字符串或标识符(在本例中为字符串),值可以是解析为值的任何表达式(在本例中为更多对象文字)。

您的数据是包含对象的对象

第一个对象键是name,返回的对象键是visions

var customerData={
“乔”:{
访问次数:1
},
“卡罗尔”:{
访问次数:2次
},
霍华德:{
访问次数:3次
},
“嘉莉”:{
访问次数:4次
}
};
函数greetCustomer(名字){
var='';
var customer=customerData[firstName]
如果(!客户){
问候语=‘你好,新客户’;
}否则{
var访问量=客户访问量;
转换(访问){
案例0:
问候语=‘你好,新客户’;
打破
案例1:
问候语=‘谢谢你回来’;
打破
案例2:
违约:
问候语=‘感谢您成为常客’;
打破
}
}
回敬问候;
}
console.log(greetCustomer('Felix'))
log(greetCustomer('Joe'))

log(greetCustomer('Howard'))
customerData看起来是JSON格式的

JSON结构的一些类型如下所示:

{key: value}
{a: {a:b}}
{a : {[b,c,d]}}

有几种方法可以按照您想要的格式解析JSON。JSON序列化和反序列化也可能有所帮助。

这是一个JavaScript对象,其行为非常类似于其他语言中的词典。如果你想知道更多,答案是:
console.log(typeof(customerData))
。准确地说,它只是一个对象。JSON是一种符号(即“N”是什么)。这是JavaScript对象的字符串表示。@tadman-@Dancrumb是的,对不起,有点快了。调整过的威瑞贝奇。JSON最近才出现在我的脑海中。谢谢大家的投入。我很感激。我更喜欢在我的项目中使用它,仅仅因为一个网站这么说并不意味着它是真的。你可以叫它Object,我可以叫它JSON。最后,这两个词都是数据的表示形式。词语有意义。JSON和JavaScript是不同的东西。我的车有座位。我的餐桌有座位。这并不意味着我的车的驾驶座是餐桌。