在数组上实现array.map(),该数组本身是另一个数组的元素

时间:2014-09-19 10:42:17

标签: javascript arrays

这里我有一个名为"array"的数组,它有4个数组作为元素。由于"array"的各个元素也是数组本身,所以我可以在它们上使用任何数组方法,对吧?所以如果选择第一个元素说array[0].map(callback),但不幸的是发生了错误。我怎么能解决这个问题?

var array=[['apple','jackfruit'],['orange'],['pineapple'],['banana']];
(function(){
   console.log(array[0]);
     var arr=array[0].map(function(row){
         return row.reduce(function(first,second){
             return Math.max(first,second.length);
         },0);
      });
      console.log(arr);


})();

1 个答案:

答案 0 :(得分:0)

我只能猜测 - 您是否在数组中搜索具有最大长度的字符串?

使用http://lodash.com/,您可以执行此操作:

var array=[['apple','jacklongfurit'],['orange'],['pineapple'],['banana']];

// Sort by string.length (reverse) and use "flatten" to make a 1-imension-array.
array = _.sortBy(_.flatten(array), function(element){ 
   return -element.length; 
});

console.log(array[0]);