JS 之数组
一,定义数组:
1,字面量的方式
var arr = [5];
2,构造函数的方式Array
通过new出来的是一个对象的函数
var list = new Array(7,5,6,7);
注:1,如果参数仅有一个正整数时,表示数组的长度
2,如果参数是小数或者负数时报错
3,如果参数有且仅有一个非正整数时,表示数组元素
4,如果参数数量大于一个时,都表示数组元素
二,如何给数组赋值?
1,初始化数组
2,先声明,后赋值。
var arr = [];
function fnInputInt(arr,n){
for(var i = 0;i < n;i ++){
arr[i] = parseInt(prompt('请输入第' + (i + 1) + '个整数'));
}
return arr;
}
console.log(arr);
function fnOutput(arr){
for(var i = 0;i <arr.length;i ++){
console.log(arr[i]);
}
}
function fnSum(arr){
var sum = 0;
for(var i =0;i <arr.length;i ++){
sum += arr[i];
}
return sum;
}
fnInputInt(arr,5);
fnOutput(arr);
console.log('和为:' + fnSum(arr));
三,如何遍历数组?(循环)
四,数组的属性:length表示数组的长度
五,数组下标 : 最小下标0,最大下标length - 1
增,删,改,截,拼,复,排,转,
‘前增’ unshift
var arr= [7,2,3,4,5,6];
console.log(arr.unshift(2));
console.log(arr);
'后增' push
var arr = [6,3,2,7,2,3];
console.log(arr.push(2,[3,454,4],3));
console.log(arr);
‘前删’ shift
var arr = [2,3,4,5,6,7];
console.log(arr.shift());
console.log(arr);
'后删' pop
var arr = [2,3,4,5,6,7];
console.log(arr.pop());
console.log(arr);
‘改’ splice
var arr = [2,3,4,5,6,7];
console.log(arr.splice(2,2));
console.log(arr);
‘截’ slice
var arr = [2,3,4,5,6,7];
console.log(arr.slice(2,5));
console.log(arr);
‘拼’ concat
var arr = [2,3,4,5,6,7];
console.log(arr.concat(1,2,3,4));
console.log(arr);
‘逆序’ reverse
var arr = [2,3,4,5,6,7];
console.log(arr.reverse());
'大到小排列' sort
var arr = [2,3,4,5,6,7,8];
console.log(arr.sort());
‘转’ toString
var arr = 77;
console.log(arr.toString(3));
console.log(arr);
‘转’ var arr =[2,3,4,5,6,7];
console.log(arr.join('*'));
console.log(arr);
七,for in
作用:遍历数组或对象。
格式:for(var变量名 in 数组/对象){ };
var arr = [1,2,3,4,5,6];
for(var i in arr){
console.log(i,arr[i]);
}
var obj ={name :"张三",age : 18};
for(var attr in obj){
console.log(attr,obj[attr]);
}
八,基本数据类型的传递属于值传递
符合数据类型的传递属于引用传递
九,json :网络数据传递的一种数据格式。
1,[]
2, {}
括号中的字符串必须是双引号;
原生js:{name :'张三',age :"18"}
json:{"name" : "张三","age" : 18}
十,冒泡排序:正想排序(从小到大)
冒泡的核心:相邻的两个数比较,符合条件的交换位置
十一,选择排序
核心:依次取第一个数与后面的比较符合交换顺序。