如何使用javascript为数据对创建动态数组?

时间:2015-06-12 01:18:31

标签: javascript arrays dropbox

如何使用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>

2 个答案:

答案 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));