如何使用javascript为示例数据对创建动态数组?我想要精确结构,如动态数组中的示例数据对所示。我尝试下面的代码,但似乎我的数组不正确。任何人都可以帮我修理它。谢谢
注意:警告(files.join('\ n'));显示[对象对象] 要存储在数组
中的数据对的示例files: [
{'url': 'http://www.somesite.com/1.jpg', 'filename': 'new1.jpg'},
{'url': 'http://www.somesite.com/2.jpg', 'filename': 'new2.jpg'},
{'url': 'http://www.somesite.com/2.jpg', 'filename': 'new3.jpg'},
],
我的数组创建功能:
<script>
var i=1;
files = new Array();
function addtoArray(a,b){
alert("URL:"+a+"\nFileName:"+b);
files[i] = { url: +a, filename: +b };
i++;
alert(files.join('\n'));
};
</script>
<body>
<button onclick="addtoArray('http://www.somesite.com/1.jpg','new1.jpg')">add to array</button>
<button onclick="addtoArray('http://www.somesite.com/2.jpg','new2.jpg')">add to array</button>
答案 0 :(得分:1)
试试这个。
function addtoArray(a,b){
files.push({ url: a, filename: b });
};
编辑:添加代码以显示内容
alert(JSON.stringify(files));
答案 1 :(得分:1)
这似乎在Codepen中起作用。 (http://codepen.io/dharshba/pen/YXQvPP)
<script>
files = [];
function addtoArray(a, b) {
var obj = {
url: a,
filename: b
};
files.push(obj);
};
</script>
我认为+ a和+ b至少是问题的一部分。使用+运算符尝试将字符串强制转换为数字,这实际上并不是你想要的。
要回答有关在警报中以人类可读形式查看数组的问题,您可以使用:
alert(JSON.stringify(files));