zoukankan      html  css  js  c++  java
  • JS-数组操作

    ES5新增部分

    var arr = [10, 20, 40, 50];

    arr.forEach(function(item, index, arr) {

    console.log(index, item);

    console.log(arr);

            });

    //去重——集合、流等采用数组,IT领域也是不断完善理论罢了,其实质就是操作数组,增加方法——close()append()

    //所以:各个领域的本质相通性,不要被  “所谓的专业术语”高大上,唬住了!————Dorian君还是看得很透彻!

    var arr1 = [10, 20, 40, 10, 20, 40, 50];

    var res = [];

    arr1.forEach(function(item, index, arr1) {

    if (res.indexOf(item) === -1) {

    res.push(item);

                }

            });

    console.log(res);

    //filter()——对原数组进行过滤,每次函数返回值为true对应组成

    var res1 = arr1.filter(function(item, index, arr1) {

    console.log(item);

    return index % 2 === 0;

            });

    console.log(res1, arr1);

    //map()

    var res2 = arr1.map(function(item, index, arr1) {

    return item - 5;

            });

    console.log(res2, arr1);


    var sum = arr.reduce(function(prev, next, currIndex, arr1) {

    // console.log(arr1);

    console.log(prev + "--" + next + "--" + currIndex);

    return next + prev;

            });

    console.log(sum);

    console.log("===================");

    //指定第二个参数,可以从0位置开始计算

    var sum = arr.reduce(function(prev, next, currIndex, arr1) {

    // console.log(arr1);

    console.log(prev + "--" + next + "--" + currIndex);

    return next + prev;

            }, 0);

    console.log(sum);



    三大排序

    【1】bubblSort

    function bubbleSort(arr) {

    for (var i = 0; i < arr.length - 1; i++) {

    for (var j = 0; j < arr.length - i - 1; j++) {

    if (arr[j] > arr[j + 1]) {

    temp = arr[j];

    arr[j] = arr[j + 1];

    arr[j + 1] = temp;

                        }

                    }

                }

    console.log(arr);

            }

    【2】选择排序

    for (var i = 0; i < arr.length - 1; i++) {

    var index = i;

    for (var j = i + 1; j < arr.length; j++) {

    if (arr[j] < arr[index]) {

    index = j;

                    }

                }

    var temp = arr[i];

    arr[i] = arr[index];

    arr[index] = temp;

            }

    【3】

    数组自带API

    //删除指定位置元素

    console.log(arr.splice(1, 2));

    console.log(arr);

    //增加:将第二个参数设置为0,第三个参数为添加的值

    console.log(arr.splice(1, 0, 100));

    console.log(arr);

    //替换:第二个参数为替换的个数,后面添加特换的个数

    console.log(arr.splice(1, 2, 102, 101));

    console.log(arr);


    //插入操作

    var arr = [1, 2, 3];

    // 返回值:改变后的数组长度

    console.log(arr.push(4, 5));

    console.log(arr);

    arr[3] = 3;

    console.log(arr);

    //unshift()

    console.log(arr.unshift(-1, 0));  //返回数据长度

    console.log(arr);

    //删除操作

    console.log(arr.pop());

    console.log(arr);

    console.log(arr.shift());

    console.log(arr);

    // slice(start,end)——截取数组

    var res = arr.slice(2, 4);

    slice(start) //从开始,默认到结束

    //join()——拼接字符串,默认以“,”连接

    var res1 = arr.join();

    console.log(typeof(res1), res1);

    var res2 = arr.join('&');

    console.log(typeof(res2), res2);

    //concat()——数组拼接

    var array = [1, 2, 3];

    var array1 = [4, 5, 6];

    var array2 = [1, 2, 3, 8];

    var result = array2.concat(array, 8008, array1, 1000, 1001);

    console.log(array, array1, array2, result);

    //reverse()——数组倒序,改变原数组的逆序

    console.log(array.reverse(), array);


    //splice 删除替换元素

    // 第一个参数代表从第几位开始

    // 第二个参数代表删除几个元素

    // 第三个参数代表插入元素

    var removed = myFish.splice(2, 0, "drum");
    var removed = myFish.splice(2, 0, 'drum', 'guitar');
  • 相关阅读:
    SDN第二次作业
    事后诸葛亮
    SDN第一次上机作业
    个人作业——软件产品案例分析
    SDN第一次作业
    Alpha冲刺总结报告
    Alpha冲刺Day10
    Alpha冲刺Day9
    Alpha冲刺Day8
    Alpha冲刺Day7
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13047580.html
Copyright © 2011-2022 走看看