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 ]
- 外围三重循环,分别把第n列的值取出来,还是很简练的,就是菜鸡想了好久,还是太菜了,记录一下。