• js学习篇1--数组


    javascript的数组可以包含各种类型的数据。

    1. 数组的长度 ,直接用 length 属性;

    var arr=[1,2,3];
    arr.length;

     js中,直接给数组的length赋值是会改变数组的大小的,例如:

    var array=[1,2,3];
    console.log(array.length);//输出array的长度为3
    array.length=5;//给array的长度赋值为5,此时array的内容变为[1,2,3,undefined,undefined]
    console.log(array);//console.log输出还是会输出1,2,3,但是数组的长度已经改变了,如果改成alert(array),则可以看到弹出框内容为1,2,3,,
    console.log(array[4]);//输出为undefined

    2. 数组的赋值和修改值

    数组可以通过索引值修改内如和赋值

    var array=[1,2,3];
    array[0]=0;
    console.log(array);//输出结果为 0,2,3

    !!!如果通过索引赋值时,索引超过了数组的长度范围,会引起数组大小的变化:

    var array=[1,2,3];
    array[5]=5;
    console.log(array);//array变为[1,2,3,undefined,undefined,5]

    一般最好不要直接改变数组的大小,容易引起问题。

    3. indexOf()

    数组可以通过indexOf()来查看某个元素的位置

    var arr=["a","b","c"];
    console.log(arr.indexOf("c"));//输出结果为2
    console.log(arr.indexOf(2));//输出结果为-1,当arr里不包含查询的这个值时,则返回-1

     4. push()和pop()

    push()向数组的末尾添加若干元素,pop()把数组的最后一个元素删除掉。

    push()例子:

    var arr=["a","b","c"];
    arr.push("sky","car");
    console.log(arr);//arr的内容变为["a", "b", "c", "sky", "car"]

    pop()例子,接着push()例子继续:

    console.log(arr.pop());//输出car;由此发现一个方法,可以利用pop()获取数组的最后一个元素
    console.log(arr);//arr的内容变为["a", "b", "c", "sky"],剩下四个值
    arr.pop();
    arr.pop();
    arr.pop();
    arr.pop();//arr连续pop四次,arr变为空数组
    console.log(arr.pop());//空数组继续pop不会报错,而会返回undefined值

    !!!由此发现一个方法,可以利用pop()来获取数组的最后一个元素

    5. unshift()和shift()

    unshift()向数组的开端插入若干元素,shift()是闪电数组的第一个元素。

    unshift()例子:

    var arrshift=["a","b","c"];
    arrshift.unshift("sky","car");
    console.log(arrshift);//arrshift变为["sky", "car", "a", "b", "c"]

    shift()例子:

    console.log(arrshift.shift());//输出sky
    console.log(arrshift);//arrshift变为["car", "a", "b", "c"]
    arrshift.shift();
    arrshift.shift();
    arrshift.shift();
    arrshift.shift();//shift()四次之后,数组变为空数组
    console.log(arrshift.shift());//空数组shift()不会报错,会返回undefined值

    !!!同理,可以利用shift()来获取数组的第一个元素

     6. join()

    join()方法是用来把数组的每个元素都用指定的字符串连接起来,然后返回连接后的字符串,这个很非常有用的方法。例子:

    var arrJoin=["Olive","Kong"];
    console.log(arrJoin.join("-"));//返回Olive-Kong字符串

    如果数组中存储的不是字符串元素,那么join()方法会把元素自动转换成字符串,然后再连接。例子:

    var arrJoin=[13,14];
    console.log(arrJoin.join(""));//返回1314字符串

     7. reverse()

    reverse()方法就是把数组倒置。例子:

    var arrReverse=["Kong","Olive"];
    console.log(arrReverse.reverse());//arrReverse变为了["Olive", "Kong"]

    8. sort()

    sort()方法是用来给数组排序的,直接调用时,按照默认顺序排序。例子:

    var arrSort=[2,5,1,40,26];
    console.log(arrSort.sort());//排序结果为[1, 2, 26, 40, 5]
    var arrSort2=["sort","block","css","html","js","sky"];
    console.log(arrSort2.sort());//排序结果为["block", "css", "html", "js", "sky", "sort"]
    var arrSort3=[1,"block","css","html","js","sky"];
    console.log(arrSort3.sort());//排序结果为[1, "block", "css", "html", "js", "sky"]
    var arrSort4=[1,"2","3","html","js","sky"];
    console.log(arrSort4.sort());//排序结果为[1, "2", "3", "html", "js", "sky"]

    可以看出来默认的排序顺序就是数字排在前面,字符排在后面,字符串是按照字母的顺序排序,数字却不是按照大小来排序的,那么数字能否进行升序排序或者降序排序呢。当然是可以的,请看文章《js学习篇--数组按升序降序排列》,这里就不多做介绍了。

    9. slice()

    slice()方法是用来截取数组的部分元素,然后返回一个新的数组的。

    var arrSlice=[1,2,3,4,5,6];
    console.log(arrSlice.slice(0,4));//截取从索引0到索引为4之间的元素(不包括索引为4的值),结果为[1,2,3,4]
    console.log(arrSlice.slice(4));//截取从索引4之后的所有元素,包括索引为4的元素,结果为[5,6]

    10. splice()

    splice()方法是用来对数组进行修改的(可以添加也可以删除),它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素。例子:

    var arrSplice=["olive","kong","is","studying","js"];
    console.log(arrSplice.splice(3,2,"playing","outside"));// 从索引3开始删除2个元素,然后再添加两个元素:返回值["studying","js"]
    console.log(arrSplice);//上面的语句后,arrSplice变为了["olive", "kong", "is", "playing", "outside"]

    只删除不添加,例子(接着上面的例子进行的):

    arrSplice.splice(0,2);//从索引0开始向后删除两个元素,不添加任何元素
    console.log(arrSplice);//数组变为["is", "playing", "outside"]

    只添加不删除,例子(继续接着上面的例子进行):

    arrSplice.splice(0,0,"Popeye");//从索引0开始,向后删掉0个元素,然后添加上1个元素,console 的返回值为[]
    console.log(arrSplice);//数组变成["Popeye", "is", "playing", "outside"]

    11. concat()

    concat()方法是用来把当前的数组和另一个数组连接起来,并返回一个新的数组的。例子:

    var arrConcat=[1,2,3];
    var arrNew=arrConcat.concat(["a","b"]);
    console.log(arrConcat);//返回值为[1,2,3],原数组并没有变
    console.log(arrNew);//返回新数组为[1, 2, 3, "a", "b"]
    //concat可以连接好几个数组
    var arrC1 = ["George","John","Thomas"];
    var arrC2 = ["James","Adrew","Martin"];
    var arrC3 = ["William","Franklin","Martin"];
    console.log(arrC1.concat(arrC2,arrC3));
  • 相关阅读:
    js获取base64格式图片预览上传并用php保存到本地服务器指定文件夹
    matplotlib等值线显示
    Matplotlib调用imshow()函数绘制热图
    tensorflow 卷积神经网络预测手写 数字
    tensorflow 参数初始化
    matplotlib 读取图形数据
    tensorflow载入数据的三种方式
    tf.get_variable函数的使用
    TF-卷积函数 tf.nn.conv2d 介绍
    Git 常用命令
  • 原文地址:https://www.cnblogs.com/olive27/p/6098876.html
Copyright © 2020-2023  润新知