有人能解释一下下面的javascript代码片段吗?(NOOB)
该代码是返回数组中最大数字的程序的一部分。有人能解释一下吗?谢谢有人能解释一下下面的javascript代码片段吗?(NOOB),javascript,arrays,Javascript,Arrays,该代码是返回数组中最大数字的程序的一部分。有人能解释一下吗?谢谢 if (parseInt(nums[0]) < parseInt(nums[1])) { nums.splice(0,1); } else { nums.splice(1,1); } if(parseInt(nums[0])
if (parseInt(nums[0]) < parseInt(nums[1])) { nums.splice(0,1); }
else { nums.splice(1,1); }
if(parseInt(nums[0])
最基本的是理解
因此,它将根据传递的参数删除项目,从而修改数组
阵列拼接(开始[,删除计数[,项目1[,项目2[,…]))
var nums=[“2”,4];
if(parseInt(nums[0]) log(nums)//修改数组
最基本的是理解
因此,它将根据传递的参数删除项目,从而修改数组
阵列拼接(开始[,删除计数[,项目1[,项目2[,…]))
var nums=[“2”,4];
if(parseInt(nums[0]) console.log(nums)//修改了数组
,因为您编写了NOOB,我认为澄清这一点很重要
该方法在指定索引处从数组中删除0个或多个项,并在该索引处插入0个或多个项
签名是someArray.splice(startNdx,deleteCount[,…itemsToInsert])
在您发布的代码中,此部分
nums.splice(0,1);
从索引0开始,从数组中删除1个元素。换句话说,如果数组是[5,6,7]
,它将变成[6,7]
nums.splice(1,1);
这部分从索引1开始,从数组中删除1个元素。换句话说,如果数组是[5,6,7]
,它将变成[5,7]
这些部分将字符串转换为整数,表示数组包含字符串而不是数字(或者可以选择包含字符串)。假设数组确实包含字符串,那么如果没有parseInt
部分,它将比较字符串而不是数字,这是一种不同的比较类型。因为您没有显示数组的内容,所以很难确切地知道它试图做什么,例如
"00" < "0000"
“00”<“0000”
是真的吗
parseInt("00") < parseInt("0000")
parseInt(“00”)
事实并非如此。同样地
"000_bob" < "000_jill" is true
“000\u bob”<“000\u jill”是真的
但是
parseInt(“000_bob”)
事实并非如此
因此,代码正在检查第一个值是否小于第二个值,但它是按整数而不是字符串进行比较的
其他人声称这是错误的代码,但在不知道使用它的上下文的情况下这不是错误的代码 既然你写了NOOB,我想说清楚是很重要的 该方法在指定索引处从数组中删除0个或多个项,并在该索引处插入0个或多个项 签名是
someArray.splice(startNdx,deleteCount[,…itemsToInsert])
在您发布的代码中,此部分
nums.splice(0,1);
从索引0开始,从数组中删除1个元素。换句话说,如果数组是[5,6,7]
,它将变成[6,7]
nums.splice(1,1);
这部分从索引1开始,从数组中删除1个元素。换句话说,如果数组是[5,6,7]
,它将变成[5,7]
这些部分将字符串转换为整数,表示数组包含字符串而不是数字(或者可以选择包含字符串)。假设数组确实包含字符串,那么如果没有parseInt
部分,它将比较字符串而不是数字,这是一种不同的比较类型。因为您没有显示数组的内容,所以很难确切地知道它试图做什么,例如
"00" < "0000"
“00”<“0000”
是真的吗
parseInt("00") < parseInt("0000")
parseInt(“00”)
事实并非如此。同样地
"000_bob" < "000_jill" is true
“000\u bob”<“000\u jill”是真的
但是
parseInt(“000_bob”)
事实并非如此
因此,代码正在检查第一个值是否小于第二个值,但它是按整数而不是字符串进行比较的
其他人声称这是错误的代码,但在不知道使用它的上下文的情况下这不是错误的代码 它正在删除较小的值。。。除非在数组
[4.999,4]
上尝试此操作会失败,因为这些值被解释为整数。所以这不是很好的代码。它还修改数组以获得聚合值,这也是不好的做法。它正在删除较小的值。。。除非在数组[4.999,4]
上尝试此操作会失败,因为这些值被解释为整数。所以这不是很好的代码。它还修改数组以获得聚合值,这也是不好的做法。@gman否。对于问题中的代码段,对副作用的描述是准确和全面的。当链接中有很好的文档时,就不需要解释函数没有做的事情了。@gman没有。就问题中的代码片段而言,对副作用的描述是准确而全面的。当链接中有非常好的文档时,就不需要解释函数在这里没有做的事情。