2022.2.13

本文详细讲解了JavaScript中的数组操作、排序、反转、链接字符串,以及对象的创建、属性管理和流程控制。深入解析了Map和Set数据结构,包括它们的使用方法和迭代。同时涵盖了前端开发、数据结构与算法的基础知识。
摘要由CSDN通过智能技术生成
  • 插入删除数组元素

    //仅能从尾部插入删除
    arr.push(0);//push,写入,即在数组中最末位插入括号中元素,数字不带引号,字符带引号
    arr.pop();//pop,删除,即将数组中最末尾元素删除,括号中不需填写数值,pop只能一位一位删除
    
    //仅能从头部插入删除
    arr.shift(1);//从头部插入,类似于push
    arr.unshift();//从头部删除,类似于pop
    
  • 排序

    arr.sort();//sort函数作用即排序,括号内不用输入值
    
  • 元素反转

    arr.reverse();//将数组中的所有元素按照当前顺序的逆顺序排列
    
  • 链接字符串

    arr.concat(arr1);//括号内,若是数组变量则直接填变量名,若是散列的元素,则加中括号;注:concat没有修改数组,仅返回一个新数组
    
  • 连接符

    arr.join('-');//括号内填想用什么连接起来,仅仅是一个样式,输出如下:
    arr.join('-')
    '0-7-5-2-3-1-6-4-9'//注:括号内必须加引号
    
  • 多维数组

    arr = [[x,x,···],[x,x,···],[x,x,···]];//多维数组即数组的嵌套
    console.log(arr[1][1]);//取值时使用多维数组的下标取得
    

5、对象

  • 若干个键值对

    'use strict';
        let person = {
            name:"zhangsan",
            age:3,
            email:"1234567@qq.com",
            score:0
        }//定义一个对象,其内容“name”、“age”等为该对象的属性,属性的类型是字符串类型
    
  • 对象赋值

    person.name = "lisi";//对象中元素的赋值
    person.age;//输出该对象的对应属性的值
    
  • 若使用一个不存在的对象不会报错,会输出“undefined”

  • 动态删除属性

    delete person.name;//无论存不存在会返回一个true,再输出被删除属性时会输出undefined
    
  • 动态添加属性

    person.sex = "man";//直接暴力添加即可
    
  • 判断属性值是否在这个对象中

    'score' in person;//格式即xxx属性 in xxx对象
    true
    'toString' in person;//继承时,父类的属性也可以在该对象中查到
    true
    
  • 判断一个属性是否是该对象本身拥有的

    person.hasOwnProperty('age');
    

6、流程控制

  • if判断

    • if、else if、else
  • 循环

    • while(注意避免死循环)、do{}while、for

    • for Each

      arr.forEach(function(value)){
                  执行代码;
                  }
      
    • for in

      for(索引 in 对象)
          {
              执行代码;
          }
      

7、MAP和SET

  • MAP,类似于python中的字典,有key值,有value,具体实现方法是通过二维数组来实现的

    let map = new Map([["李三",60],["赵四",80],["lulu",100]]);//map的定义
    let score1 = map.get('李三');//通过key值获得value/
    console.log(score1);
    map.set([["Tom",90]]);//往Map中加入元素
    map.delete('李三');//在map中删除元素,括号内键入key值
    //map的iterator遍历
    let it = map[Symbol.iterator]();
    it.next();
    it.next();//每次输出map中的一个元素
    ...
    
  • SET,无序不重复的集合,特性即去重

    let set = new Set([3,1,1,1,1]);//set的定义,输出结果为:set(2)(3,1),相同的元素被隐藏
    set.add(2);//加入元素2,输出结果为:set(3)(3,1,2),插入相同元素不变
    set.delete(1);//删除元素1,输出结果为:set(2)(3,2)
    set.has(3);//判断元素3是否在set中
    //set的iterator遍历
    let it = set[Symbol.iterator]();
    it.next();
    it.next();//每次输出set中的一个元素
    ...
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值