Javascript 如何声明空数值变量?(相当于java中的“int x”)
给定一个包含子数组的数组,我需要返回一个由最多子数组组成的新数组Javascript 如何声明空数值变量?(相当于java中的“int x”),javascript,Javascript,给定一个包含子数组的数组,我需要返回一个由最多子数组组成的新数组 阵列: let arr = [[1,2], [10, 15], [30, 40], [-1, -50]]; 新阵列应为: newArr = [2, 40, -1]; 我已经解决了这个问题,但它不适用于负数,因为初始值是0如何在java中声明空数值变量,如“int x;” let newArr = [0, 0, 0, 0]; // Instead of 0 I need an empty numeric for (
阵列:
let arr = [[1,2], [10, 15], [30, 40], [-1, -50]];
新阵列应为:
newArr = [2, 40, -1];
我已经解决了这个问题,但它不适用于负数,因为初始值是0
如何在java中声明空数值变量,如“int x;”
let newArr = [0, 0, 0, 0]; // Instead of 0 I need an empty numeric
for (let x = 0; x < arr.length; x++) {
for (let y = 0; y < arr[x].length; y++) {
if (newArr[x] < arr[x][y]) {
newArr[x] = arr[x][y];
}
}
}
console.log(newArr) // 2,15,40,0
让newArr=[0,0,0,0];//我需要一个空数字而不是0
对于(设x=0;x
预期:2、15、40、-1,你可以拿走并分发物品
let数组=[[1,2],[10,15],[30,40],-1,50],
max=array.map(a=>Math.max(…a));
控制台日志(最大值)代码>空数值也无助于您使用逻辑,因为您为比较设置了错误的初始值。看到这个了吗,和你的一样,还有一个小补丁:
let arr = [[1,2], [10, 15], [30, 40], [-1, -50]];
let newArr = [arr[0][0], arr[1][0], arr[2][0], arr[3][0]];
for (let x = 0; x < arr.length; x++) {
for (let y = 0; y < arr[x].length; y++) {
if (newArr[x] < arr[x][y]) {
newArr[x] = arr[x][y];
}
}
}
让arr=[[1,2],[10,15],[30,40],-1,-50];
设newArr=[arr[0][0],arr[1][0],arr[2][0],arr[3][0];
对于(设x=0;x
您的问题是-1
不小于0
,因此您的数组不会被更新,相反,请使用-Infinity
而不是0
启动newArr
,这样任何数字都会比它大,如下所示:
让arr=[
[1, 2],
[10, 15],
[30, 40],
[-1, -50]
];
设newArr=[];
对于(设x=0;x console.log(newArr)//2,15,40,-1
您可以将初始值用作第一个元素或子数组
设arr=[[1,2],[10,15],[30,40],-1,-50];
newArr=[]//我需要一个空数值,而不是0
对于(设x=0;x log(newArr)//2,15,40,0
JavaScript没有变量类型——毕竟是动态类型。如果您有一个包含数字的变量,它将是一个数字变量,但您可以始终将其重新分配给字符串,它将不再是数字。新数组应为:newArr=[2,40,-1]代码>为什么15
不在所需的输出中?Javascript变量不是强类型的。变量的类型是其值的类型。所以一个空的数值没有任何意义。令人惊讶的是,将new arr[x]设置为-Infinity会使它成为动态的,并且您可以检查多于4个的数组subarrays@Makeyka不用担心,您也可以使用每个内部数组的第一个元素,而不是-Infinity
(就像Thuvarakan所做的那样),这非常有帮助。我在寻找一种更原始的方法来设置一个空值,比如-无穷大,比如下面的答案。