数组方法(push()-unshift()-pop()和shift())
push()
- 语法:
- arrayObject.push(newele1,newele2,...,neweX);
- 功能:
- 把它的参数顺序添加到arrayObject的尾部
- 返回值:
- 把指定的值添加到数组后的新长度
unshift()
- 语法:
- arrayObject.unshift(newele1,newele2,...,neweX);
- 功能:
- 把它的参数顺序添加到arrayObject的开头
- 返回值:
- 把指定的值添加到数组后的新长度
pop()
- 语法:
- arrayObject.pop();
- 功能:
- 删除arrayObject的最后一个元素
- 返回值:
- 被删除的那个元素
shift()
- 语法:
- arrayObject.shift();
- 功能:
- 删除arrayObject的第一个元素
- 返回值:
- 被删除的那个元素
选择练习
关于数组的栈方法下列选项正确的是?(选择两项)
A push()是把新的参数添加到数组的最前面,返回值是数组的新长度;
B unshift()是把新的参数添加到数组的尾部,返回值是数组的新长度;C pop()是删除数组中的最后一个元素,返回值是被删除的那个元素;D shift()是删除数组中的第一个元素,返回值是被删除的那个元素;
正确答案:C,D
参考解析:
本题考察的是数组的栈方法,正确选项为CD。
A:push()是把新的参数添加到数组的尾部,返回值是数组的新长度;
B:unshift()是把新的参数添加到数组的最前面,返回值是数组的新长度;
数组方法(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});
参考代码
<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>