Jquery .each使用数组对象作为参数

时间:2015-03-19 13:08:06

标签: jquery arrays object arguments each

我有一个阵列......

var dataFilesArray =  [
   {data1: argumentA, file1: argumentB},
   {data2: argumentA, file2: argumentB}
   ]

对于数组中的每个数据/文件对,我想将两个值作为参数传递给函数useData。

$.each(dataFilesArray {
   function useData (argumentA, argumentB)
});

下一个循环将用于data2 / file2,依此类推,直到数组结束。

function useData (argumentA, argumentB)

可以用这种方式使用$ .each吗?

使用

var dataFilesArray = [
    {data1: "someurl.com", file1: "somefileName.jpg"},
]

1 个答案:

答案 0 :(得分:2)

这与$.each没有任何关系,它只是你给它回调的内容:

$.each(dataFilesArray, function(index, entry) {
    useData(entry.data, entry.file);
});

注意我上面使用了datafile;您不希望数组中每个对象中的属性名称不同,因此数组将为:

var dataFilesArray =  [
   {data: argumentA, file: argumentB},
   {data: argumentA, file: argumentB}
   ];

如果他们真的为第一个条目data1 / file1data2/file2为下一个条目,等等,你可以这样做,但它是一个非常奇怪的结构,它很精致 - 如果你改变数组的内容,你必须改变所有这些名称。但为了完整性:

$.each(dataFilesArray, function(index, entry) {
    var num = index + 1;
    useData(entry["data" + num], entry["file" + num]);
});