数组方法(join()、reverse()、sort())
join()
-
语法:
- arrayObject.join(separator); 功能:
- 用于把数组中的所有元素放入一个字符串 返回值:
- 字符串
reverse()
-
语法:
- arrayObject.reverse(); 功能:
- 用于颠倒数组中元素的顺序 返回值:
- 数组
sort()
-
语法:
- arrayObject.sort(sortby); 功能:
- 用于对数组中的元素进行排序 返回值:
- 数组 说明:
-
1. 即使数组中的每一项都是数值,sort()方法比较的也是字符串
2. sort()方法可以接收一个比较函数作为参数
编程练习1
补充代码,实现对用户输入数据进行降序排序,注意:用户输入的结束符“-1”不进行排序
任务
第一步:页面循环弹出输入框,用户需要不断输入数据,直到用户输入-1,才停止弹出输入框,把用户输入的数据放进一个数组中,可以用push()方法:
arr.push(input);
第二步:这个数组要排除-1这个结束数据:用到数组的pop()方法,删除数组的最后一项:
arr.pop();
第三步:最后让数组进行降序排序,然后显示在页面中,降序的方法可以给sort传入一个匿名函数实现:
arr.sort(function(x,y){return y-x});
参考代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>数组排序</title>
</head>
<body>
<script>
var input;
var arr=[];
while(input!="-1"){
input=Number(prompt("请输入您想排序的数字"));
arr.push(input);
}
arr.pop();
arr.sort(function(a,b){return b-a;});
document.write(arr);
</script>
</body>
</html>
编程练习2
小伙伴们,让我们来封装一个函数,实现数组内容的反向输出功能,比如:
数组[1,2,3,4,5]通过该函数之后,输出的是:5,4,3,2,1
任务
第一步:循环这个数组,将数组中的数值放入新的数组中通过索引的计算把每一项移到新数组中:
newArr[i]=arr[arr.length-1-i];
第二步:函数的结果是返回这个新的数组:
return newArr;
参考代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>数组</title>
</head>
<body>
<script>
function arrReverse(arr){
var newArr=[];
for(var i=0;i<arr.length;i++){
newArr[i]=arr[arr.length-1-i];
}
return newArr;
}
document.write(arrReverse([1,2,3,4,5,6,7,8]));
</script>
</body>
</html>