数组方法(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>