【问题标题】:Javascript - multidimensional array: declare all key namesJavascript - 多维数组:声明所有键名
【发布时间】:2017-01-10 04:49:56
【问题描述】:

我得到了这个多维数组:

artikel[29938] = ['jeans', 'blue', '77'];

alert(artikel[29938][1]);

它会提醒blue

但我想要什么:

artikel[29938] = ['titel': 'jeans','color': 'blue','size': '77'];

alert(artikel[29938]['color']);

如何做到这一点?甚至可能吗? ^^

【问题讨论】:

  • 好的 :D 你如何定义我的问题?
  • 我建议仔细检查数组(元素列表,在方括号中)和对象(一组 key: value 对,在大括号中)之间的区别。这在任何数量的教程或介绍中都有很好的介绍。
  • 我从 PHP 中完全了解数组,而且它没有那么复杂,我不知道为什么会存在对象这样的东西?!
  • 只需将方括号替换为大括号artikel[29938] = {'titel': 'jeans','color': 'blue','size': '77'};
  • JavaScript 中的对象就像 PHP 的(不寻常的)“关联数组”。如果您想要一个带有数字键(0、1、2、...)的有序项目集合,请使用数组。如果您想要一个带有字符串键("foo""bar baz""123")的项目的无序集合,请使用 Object。

标签: javascript arrays multidimensional-array


【解决方案1】:

var artikel = [
  {'title': 'jeans','color': 'blue','size': '77'},
  {'title': 'top','color': 'blue','size': '77'}
];

//fetch/retrieve values
console.log(artikel[0].title)
console.log(artikel[0].color)
console.log(artikel[0].size)

//Conversion
console.log(JSON.stringify(artikel)) 

使用如下对象的数组:-

artikel[29938] = {'title': 'jeans','color': 'blue','size': '77'};
alert(artikel[29938]['title']);

【讨论】:

  • 那不就是数组和对象的混合吗?我可以毫无问题地将整个内容转换为 json 字符串吗?谢谢:D
  • @AnneSchwarz 请检查更新的片段。希望它能回答你所有的问题:)
  • 控制台日志显示:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null oO
  • @AnneSchwarz 你得到空值的地方。你能在你的整个代码中发布吗
  • var artikel = []; artikel[29938] = {'title': '牛仔裤','color': 'blue','size': '77'}; artikel[37494] = {'title': 'jeans2','color': 'blue2','size': '88'}; console.log(JSON.stringify(artikel));
【解决方案2】:

是的。您可以选择 Json 数组/字符串,而不是将数组作为数据结构。它会给你很大的灵活性。

【讨论】:

  • 没有“JSON 数组”之类的东西。只有 JavaScript 数组。反正他已经在使用数组了。你的替代建议是什么?
  • 考虑到 OP 的姓名和头像,我猜“他”不是他们的首选代词。
猜你喜欢
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2020-03-06
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
  • 1970-01-01
相关资源
最近更新 更多