我有一个对象:
var sampleArray = [["name1", "age1"], ["name2", "age2"],["name3", "age3"]]; async.mapSeries(sampleArray[names], sampleFunction(), function(err, result) { console.log(result); });//sample code //["name1","name2","name3"] executes here async.mapSeries(sampleArray[ages], sampleFunction(), function(err, result) { console.log(result); });//sample code //["age1","age2","age3"] executes here
这是我的示例代码,这里我想实现第一次在samplefunction中执行所有"name"属性,并在第二次迭代时实现所有"age"属性.
怎么实现呢?
我想你想要的是这个:
var sampleArray = [["name1", "age1"], ["name2", "age2"],["name3", "age3"]]; async.mapSeries(sampleArray, function(data,callback){ return callback(null, data[0]); }, function(err, results) { console.log('results : ' + results); // results : name1,name2,name3 }); //sample code //["name1","name2","name3"] executes here async.mapSeries(sampleArray, function(data,callback){ return callback(null, data[1]); }, function(err, results) { console.log('results : ' + results); // results : age1,age2,age3 }); //sample code //["age1","age2","age3"] executes here
http://jsfiddle.net/9bdWT/12/
使用对象数据编辑:
var sampleData = [{'name':'name1', 'age':'age1'},{'name':'name2', 'age':'age2'},{'name':'name3', 'age':'age3'}]; async.mapSeries(sampleData, function(data,callback){ return callback(null, data['name']); }, function(err, results) { console.log('results : ' + results); // results : name1,name2,name3 });
这样您就可以访问name属性而无需担心索引