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);
}