关于Array的一些方法

/*关于数组*
 常用几个方法
 pop push unshift  shift concat
 /
  */

var arr = new Array(1, 2, 3, 4);
arr.push(5, 6);
/*像数组末尾添加*/
console.log(arr);
/*1,2,3,4,5,6*/
arr.pop();
/*删除末尾一个*/
console.log(arr);
/*[ 1, 2, 3, 4, 5 ]*/
arr.unshift("a", "b");
console.log(arr);
/*[ 'a', 'b', 1, 2, 3, 4, 5 ]*/

arr.shift();
console.log(arr);
/*[ 'b', 1, 2, 3, 4, 5 ]*/
/*上面四个方法都是在原来基础上面修改*/

var b = arr.concat(1, 2);
/*b,1,2,3,4,5,1,2concat*/
console.log(b + "concat" + b.length);
var a = arr.concat(["q", "w"], ["e", "r"]);
console.log(a);
/*[ 'b', 1, 2, 3, 4, 5, 'q', 'w', 'e', 'r' ]
将concat中的一维数组打散

*/
var c = arr.concat(["q", "w", ["b", "v"]]);
console.log(c);
/*[ 'b', 1, 2, 3, 4, 5, 'q', 'w', [ 'b', 'v' ] ]

concat一维数组可以打散 但是二维数组不能打散  并且concat是一个新的数组


*/

/*splice
这个是增加和删除多个数组的元素  有三个参数  第一个是指定的起始下标位置,第二个指定要删除数组元素的个,第三个和后面的都是将要插入的元素
三个参数都是可选的
*/

var sp = new Array(1, 2, 3, 4, 5);
sp.splice(1);
console.log(sp);
/*[ 1 ]
当为一个参数的时候  那么指的是删除下标为1  包括1以及后面的所有元素

*/

var sp2 = new Array(1, 2, 3, 4, 5);
sp2.splice(1, 2);
console.log(sp2);
/*[ 1, 4, 5 ]
当为两个参数的时候那么从下标为1开始  往后删除两个元素


*/

var sp3 = new Array(1, 2, 3, 4, 5);
sp3.splice(1, 2, "a", "b", "v");
console.log(sp3);
/*[ 1, 'a', 'b', 'v', 4, 5 ]
当三个参数的时候  那么就是从下标为1开始删除两个元素 并且将后面的元素全部插入到元素的当前位置中


*/


/*slice
* 截取元素
* 第一个参数是开始位置
* 第二个参数是截取长度
* 并且形成一个新的数组
* */
var sl = [1, 2, 3, 4];
var s2 = sl.slice(2);
console.log(s2);
/*[ 3, 4 ]
截取从下标为2开始往后所有的元素
*/
var s3 = [1, 2, 3, 4];
var s4 = s3.slice(2, 4);
console.log(s4);
/*[ 3, 4 ]
第二个元素是指定了结束位置但是不包括结束位置的元素  从下标为3开始 下标为4的元素  但是不包含4的元素
*/

/*数组
* reverse()  sort()
* */

var arr = ["2", "1", "3", "5"];
arr.reverse();
console.log(arr);
/*[ '5', '3', '1', '2' ]
1.在原来数组上排序,颠倒数组中元素的顺序
*/

var arr1 = ["2", "1", "3", "5"];
arr1.sort();
console.log(arr1);
/*[ '1', '2', '3', '5' ]
按照顺序给数组排序 也是在原来数组中排序

*/

var arr2 = ["2", "1", "9", "5", "3"];

function f(a, b) {
    return -(a - b);

}

arr2.sort(f);
console.log(arr2);

var arr3 = ["2", "1", "9", "5", "3","10","6"];

function arr() {

    for (var x = 0; x < arr3.length; x++) {
        if (arr3[x] > arr3[x + 1]) {

            var num = arr3[x];
            arr3[x] = arr3[x + 1];
            arr3[x + 1] = num;
            console.log("ff");
        }
        return arr;
    }

}

/*数组装换为字符串
* tostring tolocalstriong  join
* */
var str = new Array(1,2,3,4);
var str1 = str.toString();
console.log(str1);  /*1,2,3,4*/
console.log(typeof str1);/*string*/

var str2 = str.toLocaleString();
console.log(str2); /*1,2,3,4*/
console.log(typeof str2); /*string*/

var str3 = str.join("=");
console.log(str3);  /* 1=2=3=4 */
console.log(typeof  str3) /*string*/

/*splite  字符串通过分隔符转换成数组*/

var sp = "1=2=3=4"
var sp1 = sp.split("=");
console.log(sp1); /*[ '1', '2', '3', '4' ]*/
console.log(typeof sp1);/*返回的类型是个对象  而不是数组array*/

var sp2 = "123456";
var sp3 = sp2.split();
console.log(sp3); /*[ '123456' ]*/


/*定位查找
* indexof()  返回的是索引  第一个参数是需要查找的参数  第二个参数是从哪里开始查找 可选
* */
var index  = ["avb","bc","sc","bc"];
var a  = index.indexOf("bc",2); /*3*/
console.log(a);

/*lastindexof返回指定的值在数组中最后匹配项的索引
* */

var b = index.lastIndexOf("bc");
console.log(b); /*3*/
var c = index.lastIndexOf("bc",2);
console.log(c);  /*1
加了参数回往回查找
*/


/*迭代foreach
value 代表值
index  代表索引
arry 对象

* */

var fore = [1,2,5,6,7];
var sum = 0;
fore.forEach(
    function (value) {

        sum += value;

    }
);

console.log(sum); /*21*/




 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值