javascript数组对象5.0

8、数组

(1)、定义数组

var arr = ["小刘", "小松", "小王", "小小", "宝批龙"];

数组的长度:数组名.length;

数组的元素值:数组名[下标];

注意:下标是从0开始的。

(2)、遍历数组中的元素: 

//for
for
(var i=0; i<arr.length; i++) { console.log(arr.[i]); }
//for in
for (var item in arr) { console.log(arr[item]); } //注意:item是下标

(3)、数组的简单操作

//括号{}的属于一个整体  在数组中单独占一个空间 
var temp = [12, 3.1412, "12", "狗剩", true, {
    s:"xx"
}];

//这里为6
var r= temp.length;
alert(r);

document.write(temp);
document.write("<br>");
temp[10] = "新增元素”;
document.write(temp);

//这里为11   前面在索引为10的地方添加了内容  在6-10的空间中没有值 undefined
var l = temp.length;
alert(l);

//这里显示结果undefined  因为没有装入值  所以未定义
alert(temp[15]);

(4)、常用数组的方法

var yc133 = ["小刘", "小溪”, “美玲”];

a、在数组的末尾添加元素,返回数组的新长度-push

yc133.push("是可爱鸭");
//输出新数组的内容: 小刘,小溪,美玲,是可爱鸭
document.write(yc133);

b、在数组的末尾删除元素,返回被删除的元素-pop

var name = yc133.pop();
// 美玲
document.write(name);
//小刘 小溪
document.write(yc133);

c、在数组开头新增元素,返回数组的新长度-unshift

var n1 = yc133.unshift("赵铁柱");
//值为  4  新增元素,返回新的数组长度
alert(n1);
//赵铁柱 小刘 小溪 美玲
document.write(yc133);

d、在数组开头删除元素,返回被删除的元素-shift

var obj = yc133.shift();
//值为  小刘   返回被删除的元素
alert(obj);
//小溪 美玲
document.write(yc133);

e、截取数组-slice(返回截取的数组,原数组不变)

语法:数组名.slice(开始下标位置,结束下标位置)

var tt = yc133.slice(1,2);
//这里截取的1开始   结束时是2的前一位  值为:小溪
document.write(tt);

f、数组的增、删、改-splice

数组名.splice(开始下标, 长度) ==>删除

//删除索引为1开始  总长度为1 的元素
yc133.splice(1,1);
//小刘 美玲
document.write(yc133);

数组名.splice(开始下标, 长度,新元素) ==>替换

//将小溪删除  替换成小王
yc133.splice(1, 1, "小王"); //小刘 小王 美玲 document.write(yc133);

数组名.splice(开始下标, 0,新元素) ==>插入

//在索引为1处添加 小王
yc133.splice(1, 0, "小王");
//小刘  小王 小溪 美玲
document.write(yc133);

g、拼接数组-concat

语法:数组名.concat(arr)---拼接数组,返回新的数组,原数组不变

var arr = ["21", 123];
//拼接数组 返回新的数组
var na = yc133.concat(arr);
//小刘,小溪,美玲,21,123
document.write(na.toString());

 f、数组排序-sort

语法:数组名.sort(); --根据字符的编码排序

var arr1 = [234, 8, -33, 32, 27, 54, 31, 2, 5, 6, 9, 14, 21, 4, 10, -34, 2];
//234, 8, -33, 32, 27, 54, 31, 2, 5, 6, 9, 14, 21, 4, 10, -34, 2
document.write(arr1);
document.write("<br>");
//-33,-34,10,14,2,2,21,234,27,31,32,4,5,54,6,8,9 注意看排序
document.write(arr1.sort());

练习4-1:将arr1按数字从小到大排序

//这里是从小到大  思路是每次循环都找到最小的然后放到前面
//第一层循环遍历每个数
for (var i=0; i<arr1.length; i++) {
//第二层循环  在每个数的基础上再取一个下标之后的数 挨个进行比较  当后面小于arr1[i]时
//该值放到arr1[i]处,此处下标是不会变化的,j还是往后继续遍历寻找更小的数
for(var j=i; j<arr1.length; j++) { //进行条件比较 if(arr1[i]>arr1[j]) { //值的变换 但位置下标是不变的 var t = arr1[i]; arr1[i] = arr1[j]; arr[j] = t; }

练习4-2:利用函数,从大到小排序

//234,8,-34,32,27,54,31,2,5,6,9,14,21,4,10,-33,2
document.write(arr1);
var arr2 = arr1.sort(function (a, b) {
    return b - a;
});
document.write("<br>");
//234,54,32,31,27,21,14,10,9,8,6,5,4,2,2,-33,-34
document.write(arr2);

练习4-3:利用函数,从小到大排序

//234,8,-34,32,27,54,31,2,5,6,9,14,21,4,10,-33,2
document.write(arr1);
var arr3 = arr1.sort(function (a, b) {
    return a - b;
});
document.write("<br>");
//-34,-33,2,2,4,5,6,8,9,10,14,21,27,31,32,54,234
document.write(arr3);

 

posted @ 2020-08-12 22:28  上天安排的最大嘛!  阅读(108)  评论(0编辑  收藏  举报