Javascript动态数组键值对

时间:2018-08-07 13:32:14

标签: javascript arrays dynamic

我有一个对象,对于属性,我有名称和属性:

var name;
var attributes = new Array();

用户应该自行插入属性,但顺序为key-> value。

因此,无论用户插入哪个属性,都需要将其写入数组中。

示例:颜色->红色,用途->可选等...

有人可以帮我吗,我该怎么办?

谢谢!

2 个答案:

答案 0 :(得分:0)

如果您从输入字段中获取数据,则可以先用逗号将其分割,然后再用该箭头将每个新创建的数组元素分割成一个对象,就像这样:

document.querySelector("#i").addEventListener("change", logObject);


function logObject(e) {
  let val = this.value;
  let arr = val.split(", ");
  arr = arr.map(e => e.split("->"));
  let obj = {};
  arr.forEach(e => obj[e[0]] = e[1]);
  console.log(obj)
}
<input id="i"> 
<br> color->red, use->optional

答案 1 :(得分:-2)

我认为您不应该为此实现数组,而应该使用这样的对象(地图)。

var attributes = {};
attributes.color = 'red';
attributes.use = 'optional';