js map 基础语法

let arr = [[1,2,3],[4,5,6]]
//map会创建一个新数组,也是不会改变原数组,返回数组的长度等于原数组
let newArr = arr.map((item,i,arr)=>{
	//item: 当前内容,i下标 arr:原数组
	//其中第一个一定要有,可以用'_'占位
	console.log(`item:${item},i:${i},arr:${arr}`)
})  
//res:`
//item:1,2,3,i:0,arr:1,2,3,4,5,6
//item:4,5,6,i:1,arr:1,2,3,4,5,6



举个例子
leetcode867

给定一个矩阵 A, 返回 A 的转置矩阵。

矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。

示例 1:

输入:[[1,2,3],[4,5,6],[7,8,9]]

输出:[[1,4,7],[2,5,8],[3,6,9]]

示例 2:

输入:[[1,2,3],[4,5,6]]

输出:[[1,4],[2,5],[3,6]]

var transpose = function(A) {
    return A[0].map((_,index)=>A.map(row=>row[index]))
};  

解释(输入为上面的arr):

1.index = 0时, A.map(row=>row[index]) ,效果为

let b = arr.map(row=>row[0]);
console.log(b);

//res:[ 1, 4 ]
  1. 外围三重循环,分别把第n列的值取出来,还是很简练的,就是菜鸡想了好久,还是太菜了,记录一下。