gpt4 book ai didi

javascript - 通过反转函数反转二维二进制数组,但这不起作用,

转载 作者:行者123 更新时间:2023-11-30 09:24:50 25 4
gpt4 key购买 nike

通过invert函数反转一个二维二进制数组,但是函数在'if(){...}'之后不起作用

        function invert(arr){

for(let i=0;i<arr.length;i++)
{
for(let j=0;j<arr[i].length;j++)
{
// or arr[i][j]=~arr[i][j] ?;
if(arr[i][j]==0) //start inverting the arr
{

//all above are right,but the following operation seems not working
arr[i][j]=1;
}
else{
arr[i][j]=0;
}
}
}

console.log(arr); //print the array
return arr;
}

enter image description here

最佳答案

从控制台输出中显示的内容来看,您的数组中没有二进制数字,您有由 0 和 1 组成的字符串——这不是一回事。

您可以按照 Pac0 的建议,将您的数组变成真正的数字 0 和 1 的二维数组。或者,如果您想以字符串形式反转字符串,并假设字符串表示不超过 8 位的二进制数,您可以这样做:

arr.map(s => (~parseInt(s, 2) & 0xFF).toString(2))

或者,将其纯粹作为字符串操作来处理,匹配您想要使用的任何位数:

arr.map(s => s.replace(/[01]/g, b => b === '0' ? '1' : '0'))

关于javascript - 通过反转函数反转二维二进制数组,但这不起作用,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49594614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com