JavaScript数组的操作
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<body>
<script>
var arr=["a","b","c","d"];
console.log(arr);
for (var i=0;i<arr.length;i++){
//alert(arr[i]);
console.log(arr[i]);
}
//push添加在最末尾
var colors = new Array("red","green");
colors.push("blue","yellow");
console.log(colors);
//unshift添加在最前面
var nums=[2,7,8,6];
var size=nums.unshift(99,66);
console.log(nums);
//pop删除最后一个
var n=nums.pop();
console.log(n);
console.log(nums);
//shift删除第一个
var m=colors.shift();
console.log(m);
console.log(colors);
</script>
</body>
</html>
***********数组的转换 排序
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<body>
<script>
//数组的转换,转成字符串
//join
var nums=[2,4,5];
var str=nums.join();
console.log(str);//2,4,5
console.log(typeof(str));//string
//不同的连接方式
var words=["border","left","color"];
var wordstr1=words.join();
console.log(wordstr1);//border,left,color
var wordstr2=words.join("");
console.log(wordstr2);//borderleftcolor
var wordstr3=words.join("-");
console.log(wordstr3);//border-left-color
//反转顺序
nums.reverse();
console.log(nums);//[5, 4, 2]
var strs=["a","b","c","d"];
var newstrs=strs.reverse().join("");
console.log(newstrs);//dcba
var arr=[9,23,15,-99,88,12,-2];
//普通排序
var pt=arr.sort();
console.log(pt);//[-2, -99, 12, 15, 23, 88, 9]
//降序
var jx = arr.sort(function (a, b) {
return b-a
});
console.log(jx);// [88, 23, 15, 12, 9, -2, -99]
//升序
var sx = arr.sort(function (a, b) {
return a-b
});
console.log(sx);//[-99, -2, 9, 12, 15, 23, 88]
</script>
</body>
</html>
************数组的连接,复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<body>
<script>
//concat连接两个或多个数组
var arr1=["a","b","c"],
arr2=["d","e",1,3],
arr3,
arr4;
//concat
arr3=arr1.concat(arr2);
console.log(arr3);//["a", "b", "c", "d", "e", 1, 3]
arr4=arr1.concat(arr2,["m",99,8]);
console.log(arr4);//["a", "b", "c", "d", "e", 1, 3, "m", 99, 8]
//slice从已有的数组中返回选定的元素
//start(必需)规定从何处开始选取,如是负数,从数组尾部开始算起
//end(可选)规定从何处结束选取,是数组片段结束处的数组下标
//如没有指定end,切分的数组包含从start到数组结束的所有元素
//如slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置
var colors=["red","green","blue","yellow","orange"];
console.log(colors);
var newColors1=colors.slice(1);//截取了从下标1至末尾的全部
console.log(newColors1);//["green", "blue", "yellow", "orange"]
var newColors2=colors.slice(1,2);//截取了从下标1至下标2(不包含该元素)的元素
//即从start到end-1的元素
console.log(newColors2);//["green"]
var newColors3=colors.slice(1,3);//截取了从下标1至下标3(不含3)
console.log(newColors3);//"green", "blue"]
//负数
var newColors4=colors.slice(-3,3);//5-3=2 即(2,3)
console.log(newColors4);//["blue"]
var newColors5=colors.slice(-4,3);//5-4=1 即(1,3)
console.log(newColors5);//["green", "blue"]
//前端面试题:完成以下代码段,实现b数组对a数组的拷贝。方法越多越好
var a=[1,"yes",3],
b1,
b2,
b3;
//方法1,数组遍历,push
b1=new Array();
for (var i=0;i<a.length;i++){
b1.push(a[i]);
}
console.log(b1);
//方法2,concat
b2=[].concat(a);
console.log(b2);
//方法3,slice
b3=a.slice(0);
console.log(b3);
</script>
</body>
</html>