2019-12-08 数组介绍

Q1 有哪些创建数组的方法?

js创建数组的方法有三种:
1、常规创建数组并给数组元素赋值

var myArray = new Array();
myArray[0] = "SAA";
myArray[1] = "volo";
myArray[2] = "bwe";

2、简洁方式-直接实例化

var myCars = new Array("Saab","Volvo","BMW");

3、字面-隐式创建

var myCars = ["Saab","Volvo","BMW"];

Q2 判断下列变量是不是数组类型。

var a = '[a, b, c, d]'; //a不是数组,是一个字符串
var b = [1, 2, 3, 4];//b是数组

验证上面的猜想:

image.png

注意: typeof 只能验证基本数据类型,用它来验证数组只能得到object类型,非基本数据类型用instanceof判断,判断的语法:

obj instanceof Object 

Q3 编写程序,将下面数组中的每一项都乘以2。

代码如下:

function toCamelStyle() {
  var a = [1, 2, 3, 4, 5];
  for (let i = 0; i < a.length; i++) {
    a[i] *= 2;
  }
  console.log(a);
}

Q4 编写程序,按下面的要求输出结果。

效果:


image.png

代码如下:

function toCamelStyle() {
  var colors = ["Red", "Green", "White", "Black"];
  var temp = new Array();
  for(let i = 0; i < colors.length; i++) {
    temp[i] = colors[i].valueOf();
  }
  console.log(temp.join(' ').toString()+'\n');
  console.log(temp.join('+').toString()+'\n');
  console.log(temp.join(',').toString()+'\n');
}

Q5 编写程序,将下面数组中的数字按从大到小的顺序排序。

sort函数默认是升序排列,若要降序,需要写一个比较函数,如下:

function toCamelStyle() {
  var a = [5, 1, 8, 10, 4];
  a.sort(cmp);
  console.log(a);
}
function cmp(a, b) {
  if (b > a) {
    return 1
  }
  else {
    return -1
  }
}

简化的函数

function toCamelStyle() {
  var a = [5, 1, 8, 10, 4];
  a.sort(function (a, b) {
    return b - a;
  });
  console.log(a);
}

你可能感兴趣的:(2019-12-08 数组介绍)