第二篇:矩阵的翻转JavaScript

一维数组的翻转

javascript 复制代码
// 一维矩阵翻转
// 实例: arr = [1,2,3,4,5] => [5,4,3,2,1]
let n  = readline()
let arr = readline().split(' ').map(Number)
// console.log(n,arr)
let temp = 0
for(let i = 0; i < n/2;i++){
    temp = arr[i]
    arr[i] = arr[n-i-1]
    arr[n-i-1] = temp
}
console.log(arr)

n*n矩阵的翻转

  1. 水平翻转
javascript 复制代码
// 二维矩阵水平翻转
// 实例
// 1 2 3            7 8 9
// 4 5 6      =》   4 5 6
// 7 8 9            1 2 3
let n = readline()
var arr = []
for(let i = 0; i < n;i++){
    arr[i] = readline().split(' ').map(Number)
    // for(let j = 0;j < n;j++){
    //     arr[i][j] = arr[i][j]
    // }
}
// console.log('a',arr)
for(let i = 0; i <= n/2; i++){
    for(let j = 0; j < n;j++){
        let temp = 0;
        temp = arr[i][j]
        arr[i][j] = arr[n-i-1][j]
        arr[n-i-1][j] = temp
    }
}
console.log(arr)
  1. 垂直翻转
javascript 复制代码
// 二维矩阵垂直翻转
// 实例
// 1 2 3            3 2 1
// 4 5 6      =》   6 5 4
// 7 8 9            9 8 7
let n = readline()
var arr = []
for(let i = 0; i < n;i++){
    arr[i] = readline().split(' ').map(Number)
    // for(let j = 0;j < n;j++){
    //     arr[i][j] = arr[i][j]
    // }
}
console.log('a',arr[0][0])
let temp
for(let i = 0; i < n; i++){
    for(let j = 0; j <= n/2;j++){
        console.log(temp)
        temp = arr[i][j]
        arr[i][j] = arr[i][n-j-1]
        arr[i][n-j-1] = temp
    }
}
console.log(arr)
  1. 水平垂直方向各翻转一次
javascript 复制代码
// 二维矩阵水平垂直各翻转一次
// 实例 
// 1 2 3            9 8 7
// 4 5 6      =》   6 5 4
// 7 8 9            3 2 1
let n = readline()
var arr = new Array()//定义一维数组
for(let i = 0 ; i < n ; i++){
    arr[i] = readline().split(' ').map(Number)
}
// var result = [[],[],[]]
var result = []
//reverse(arr)

// console.log(arr)
//function reverse(arr){
    for(let i = 0; i < n;i++){ 
        for(let j = 0; j <= n/2;j++){
            let temp = 0;
            temp = arr[i][j];
            arr[i][j] = arr[i][n-j-1];
            arr[i][n-j-1] = temp
        }
        result[n-i-1] = arr[i]
    }
    console.log(result)
    // document.write('<br>');
//}
相关推荐
蜡台1 小时前
Vue 打包优化
前端·javascript·vue.js·vite·vue-cli
卷帘依旧2 小时前
JavaScript中this绑定问题详解
前端·javascript
yaaakaaang3 小时前
(八)前端,如此简单!---五组结构
前端·javascript
EstherNi3 小时前
vue3仿照elementui样式的写法,并进行校验,并且有默认值的设置
javascript·elementui
gCode Teacher 格码致知4 小时前
Javascript提高:get和post等请求,对于汉字和空格信息进行编码的原则-由Deepseek产生
开发语言·前端·javascript·node.js·jquery
竹林8184 小时前
从ethers.js迁移到Viem:我在一个DeFi项目前端重构中踩过的坑
前端·javascript
晓13134 小时前
React篇——第三章 状态管理之 Redux 篇
前端·javascript·react.js
子兮曰4 小时前
🚀24k Star 的 Pretext 为何突然爆火:它不是排版库,而是在重写 Web 文本测量
前端·javascript·github
@大迁世界4 小时前
11.在 React.js 中,state 与 props 的差异体现在哪里?
前端·javascript·react.js·前端框架·ecmascript
Giant1004 小时前
🔥前端跨域封神解法:Vite Proxy + Express CORS,一篇搞定所有跨域坑!
前端·javascript·面试