Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何声明空数值变量?(相当于java中的“int x”)_Javascript - Fatal编程技术网

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;xconsole.log(newArr)//2,15,40,-1
您可以将初始值用作第一个元素或子数组


设arr=[[1,2],[10,15],[30,40],-1,-50];
newArr=[]//我需要一个空数值,而不是0
对于(设x=0;xlog(newArr)//2,15,40,0
JavaScript没有变量类型——毕竟是动态类型。如果您有一个包含数字的变量,它将是一个数字变量,但您可以始终将其重新分配给字符串,它将不再是数字。新数组应为:
newArr=[2,40,-1]为什么
15
不在所需的输出中?Javascript变量不是强类型的。变量的类型是其值的类型。所以一个空的数值没有任何意义。令人惊讶的是,将new arr[x]设置为-Infinity会使它成为动态的,并且您可以检查多于4个的数组subarrays@Makeyka不用担心,您也可以使用每个内部数组的第一个元素,而不是
-Infinity
(就像Thuvarakan所做的那样),这非常有帮助。我在寻找一种更原始的方法来设置一个空值,比如-无穷大,比如下面的答案。