Javascript 删除我的阵列显示中的NaN
我想请求帮助如何删除数组中的NaN值。每次我在没有数据的情况下点击submit按钮,它都会显示一个NaN值 用于数字排序的变量:Javascript 删除我的阵列显示中的NaN,javascript,arrays,nan,Javascript,Arrays,Nan,我想请求帮助如何删除数组中的NaN值。每次我在没有数据的情况下点击submit按钮,它都会显示一个NaN值 用于数字排序的变量: var array = []; var arrayasc = []; var arraydsc = []; function myFunction(){ var newArray = parseInt(document.getElementById("number").value); array.push(newArray); arrayasc
var array = [];
var arrayasc = [];
var arraydsc = [];
function myFunction(){
var newArray = parseInt(document.getElementById("number").value);
array.push(newArray);
arrayasc.push(newArray);
arraydsc.push(newArray);
if
//entered numbers dislay here
document.getElementById("demo").innerHTML = array;
console.log(array);
//entered numbers in ascending order
mySort_asc(arrayasc);
document.getElementById("asc").innerHTML = array;
console.log(mySort_asc(arrayasc));
//entered numbers in descending order
mySort_dsc(arraydsc);
document.getElementById("dsc").innerHTML = array;
console.log(mySort_dsc(arraydsc));
}
函数按升序对数字进行排序
function mySort_asc(arr){
for(var i = 0; i < array.length; i++) {
var temp = array[i];
var b = i - 1;
while (b >= 0 && array[b] > temp) {
array[b + 1] = array[b];
b--;
}
array[b + 1] = temp;
}
return array;
}
function mySort_dsc(arr){
for(var i = 0; i < array.length; i++) {
var temp = array[i];
var b = i - 1;
while (b >= 0 && array[b] < temp) {
array[b + 1] = array[b];
b--;
}
array[b + 1] = temp ;
}
return array;
}
函数mySort\u asc(arr){
对于(var i=0;i=0&&array[b]>temp){
数组[b+1]=数组[b];
b--;
}
阵列[b+1]=温度;
}
返回数组;
}
函数按降序对数字进行排序
function mySort_asc(arr){
for(var i = 0; i < array.length; i++) {
var temp = array[i];
var b = i - 1;
while (b >= 0 && array[b] > temp) {
array[b + 1] = array[b];
b--;
}
array[b + 1] = temp;
}
return array;
}
function mySort_dsc(arr){
for(var i = 0; i < array.length; i++) {
var temp = array[i];
var b = i - 1;
while (b >= 0 && array[b] < temp) {
array[b + 1] = array[b];
b--;
}
array[b + 1] = temp ;
}
return array;
}
功能mySort\u dsc(arr){
对于(var i=0;i=0&&array[b]
您的语法无效
if
//entered numbers dislay here
document.getElementById("demo").innerHTML = array;
但只需检查新值是否为数字,如果不是,则立即返回,而不更改HTML中的任何内容:
function myFunction(){
var newArray = parseInt(document.getElementById("number").value);
if (Number.isNaN(newArray)) return;
<>你也可以考虑将变量命名为对应于它们所代表的。例如,
newArray
实际上只是一个数字,而不是数组。也许可以称它为newValue
,以便于阅读和调试?只需检查元素是否有值,否则返回空字符串,最好是使用三元运算符。如果它是字符串,会有很大帮助吗?如何不显示(,)逗号?您可以使用replace
将newValue
中的所有逗号替换为空字符串。我的意思是,如果数据也是空的,则仅显示逗号。如何捕捉它,而不显示逗号