如何在JavaScript中将key:value推送到字典?

时间:2017-05-10 19:57:15

标签: javascript html arrays dictionary

我有两个HTML文本输入元素和一个段落元素。我有一个空的javascript数组和一个函数将这两个文本输入值作为键:值引入数组。我有一个按钮来激活该功能并在段落中打印数组。

我的javascript函数正在运行但是,输出永远不会产生[key:value],[key:value]但是产生[object Object],[object Object]

HTML:

<input type="text" id="t1" />
<input type="text" id="t2" />
<button id="b1" onclick="add()">Push</button>
<p id="p1"></p>

JavaScript:

var t = [];     
function add() { 
    var t1 = document.getElementById('t1').value;
    var t2 = document.getElementById('t2').value;
    t.push({key:t1, value:t2});
    document.getElementById('p1').innerHTML=t;
    }

如何正确地将key:value推送到此数组并打印出来?

2 个答案:

答案 0 :(得分:1)

var t = [];     
function add() { 
    var t1 = document.getElementById('t1').value;
    var t2 = document.getElementById('t2').value;
    t.push({key:t1, value:t2});
    render()
}

function render() {
  var html = '';
  t.forEach(function(element) {
    html += element['key'] +' = ' + element['value'] + '<br/>';
  })
  document.getElementById('p1').innerHTML = html;
}
<input type="text" id="t1" /> <input type="text" id="t2" /> <button id="b1" onclick="add()">Push</button> <p id="p1"></p>

答案 1 :(得分:1)

您正确地推送数组中的元素,问题是转换为字符串。你可以在控制台中看到数组。

function add() { 
  var t1 = document.getElementById('t1').value;
  var t2 = document.getElementById('t2').value;
  t.push({key:t1, value:t2});
  console.log(t);
}