JavaScript 数组2

一、数组对象——方法

        1、删除与添加

删除与添加
    
arrObj.splice(参数1,参数2,参数3)   从参数1的位置开始删除参数2个元素,并在参数1位置添加参数3里的元素
        参数1:必需 开始删除/添加元素的位置
        参数2:必需 删除元素的个数
        参数3:可选 添加的元素,多个元素之间用逗号隔开
        返回值:删除元素构成的数组

 var arr = [10, 7, "hello", 8, true];
    console.log(arr.splice(2, 2));
    console.log(arr.splice(-2, 2));
    console.log(arr.splice(-2, 2, "world", "abc", 100));
    console.log(arr.splice(2, 2, "world", "abc", 100));
    console.log(arr);

        2、拷贝

拷贝
    arrObj.copyWithin(参数1,参数2,参数3)  用于从数组的指定位置拷贝元素到数组的另一个指定位置中
        参数1:必需 复制到指定目标的索引位置
        参数2:可选 开始复制的位置
        参数3:可选 结束复制的位置
        返回值:数组

var arr = [1, 8, "hello", 4, false, 10];
    console.log(arr.copyWithin(1, 4));
    console.log(arr.copyWithin(1, 4, 5));

        3、检测

检测是否满足条件
        arrObj.every(function(item,i){});   用于检测数组所有元素是否都符号指定条件(通过函数提供)
        如果所有元素都满足条件,则返回true
        如果数组中检测到有一个元素不满足表达式返回false且剩余的元素不会检测
        返回值:布尔值
        arrObj.some(function(item,i){});   用于检测数组所有元素是否都符号指定条件(通过函数提供)
        如果有一个元素满足条件,则返回true且剩余的元素不会检测
        如果数组中所有元素都不满足表达式返回false

        返回值:布尔值

        arrObj.find(function(item,i){return 条件;});
返回第一个满足条件的元素,如果无满足条件的元素,返回undefined
        arrObj.findIndex(function(item,i){return 条件;});
返回第一个满足条件元素的位置(索引),如果无满足条件的元素,返回-1

    var arr = [1, 7, 3, 9, 11];
     var a = arr.every(function (item, i) {

     return item % 2 === 0;
     });

     var a = arr.some(function (item) {
     return item % 2 === 0;
     });

     var a = arr.find(function (item) {
       return item % 3 === 0;
     });

    var a = arr.findIndex(function (item, i) {
        return item % 2 === 0;
    });

    console.log(a);

        4、判断是否是数组

        Array.isArray(参数)判断参数是否是数组    如果是数组则返回true 否返回false
        Array.from(参数1,参数2)通过拥有length属性的对象或可迭代的对象来返回一个数组
            参数1:必需 要转换为数组的对象
            参数2:可选 数组中的每个元素调用的函数
            返回值:数组

var lis = document.getElementsByTagName("li");
    var arr = Array.from(lis);
    console.log(Array.isArray(arr));

        5、数组去重函数封装

                function noRepeat(arr) {
                      var newArr = [];
                      for (var i = 0; i < arr.length; i++) {
                        var item = arr[i];
                        if (newArr.indexOf(item) === -1) {
                          newArr.push(item);
                        } }
                      return newArr;}
//简写
function noRepeat(arr) {
      return arr.filter((item, i) => arr.indexOf(item) === i);
    }

        6、冒泡排序

                1.冒泡排序函数封装

function bubbleSort(arr) {
                      for (var i = 0; i < arr.length - 1; i++) {
                        for (var j = 0; j < arr.length - 1 - i; j++) {
                          if (arr[j] > arr[j + 1]) {
                            var t = arr[j];
                            arr[j] = arr[j + 1];
                            arr[j + 1] = t;
                          } } }
                      return arr; }

                 冒泡排序算法的原理如下: 升序

                    1 比较相邻的元素。如果第一个比第二个大,就交换他们两个。

                    2 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

                    3 针对所有的元素重复以上的步骤,除了最后一个。

                    4 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

二、数组对象——自定义对象

        1、创建

创建
    构造函数
        var obj=new Object();
        obj.属性名=属性值;
        obj["属性名"]=属性值
        obj.方法名=function(){}
    字面量方式
        var obj={};对象
        var obj={
        属性名:属性值,
        方法名:function(){}
        }

var gf = new Object();
    gf["gender"] = "女性";
    gf.age = 18;
gf.speak = function () {
      "我叫" + this.name + ",我今年" + this["age"] + "岁了";
    };
var obj = {
      age: 18,
      height: 170,
    speak: function () {},
    };

        2、访问属性

访问属性
    obj.属性名
    obj[“属性名”]
    for(var i in obj){
    i           属性名(键名)
   obj[i]     属性值 (键值)
}

var arr = [10,7,3];
var obj = {
        age: 18,
        height: 170,
    };
console.log(arr[0]);
console.log(obj.age);
 for (var i in arr) {
        console.log(arr[i]); 
    }

        3、JSON

        json (JavaScript Object Notation)javascript的对象表示法
        字符串转换为json数据 反序列化
        JSON.parse(str)
        把json数据转换为字符串 序列化
        JSON.stringify(obj)

 var arr = JSON.parse(str);//json数据(js对象)
var s = JSON.stringify(arr);//返回值 字符串
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时光流逝·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值