美文网首页
数据操作

数据操作

作者: 升龙无涯 | 来源:发表于2023-02-22 14:50 被阅读0次

    数据操作

    一、对象

    一个大空间存储多个小的内存空间,一个变量中存储多个数据的数据

    定义:

    var 对象 = { 属性: 值, 属性: 值, ... }
    var 对象 = new Object()
    

    基本操作:

    设置对象的键值对:

    对象.属性名 = 值
    对象['属性名'] = 值
    

    如果属性名原本不存在 - 新增

    如果属性名原本存在 - 修改/替换

    访问对象的值:

    对象.属性名
    对象['属性名']
    

    删除对象键值对:

    delete 对象.属性名
    delete 对象['属性名']
    

    对象的特性:

    1. 对象中的键值对之间是无序的
    2. 对象中的属性是唯一的

    对象的遍历:

    for(var key in 对象){
        key代表对象中的每个属性
        对象[key]
    }
    

    注意:如果使用变量代表对象的键,获取值的时候必须使用对象[键]语法

    二、数组

    概念:一个大空间存储多个小的内存空间,一个变量中存储多个数据的数据

    跟对象的区别:数组中的小空间是有顺序的

    定义:

    var arr = []
    var arr = new Array()
    

    注意:只放入一个数字的时候,[]表示数组中有一个元素,new表示有多个空的小空间。

    基本操作:

    设置数组中的数据:

    数组[下标] = 值
    

    访问:

    数组[下标]
    

    删除数据(保留小空间):

    delete 数组[下标]
    

    长度:

    数组.length // 获取数组中元素个数
    数组.length = 数字 // 将数组保留多少个小空间
    

    数组的规律:

    1. 数组的第一个元素下标一定是0
    2. 数组的最后一个元素下标一定是length-1

    遍历:

    for(var a = 0; a < arr.length; a++) {
        a代表每个元素对应的下标
    }
    
    for(var a in arr){
        a代表每个元素对应的下标
    }
    

    区别:in语法不遍历空的小空间

    三、基本类型和引用类型

    基本类型:number/string/boolean/undefined/null

    引用类型:object/array/function

    区别:

    基本类型 引用类型
    存储 将值存储在栈中 将值存储在堆中,将堆的地址存储在栈中
    赋值 将值复制给另一个变量 将地址复制给另一个变量 - 两个变量共享同一个数据了
    比较 比较值和类型 比较的内存地址

    注意赋值操作,因为我们有很多隐性赋值过程:

    1. 实参赋值给形参
    2. 用变量接收函数的返回值

    四、排序方式

    1、冒泡排序

    将数组中每相邻的两个元素进行大小比较,排列顺序

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

    2、选择排序

    每一轮都找到最大或最小值,排在最前面,在剩下的数字中找到最大或最小值排在第二位,。。。

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

    五、数组方法

    删除开头:shift

    删除结尾:pop

    开头添加:unshift

    结尾添加:push

    给数组添加、修改、删除:splice

    查找元素在数组中第一次出现的下标:indexOf

    查找元素在数组中最后一次出现的下标:lastIndexOf

    将数组元素使用连接符连接成一个字符串:join

    遍历数组:forEach

    过滤:filter

    判断数组中是否至少有一个元素是满足条件的:some

    求和:reduce

    所有元素处理成新元素组成新数组:map

    翻转:reverse

    找数组中第一个满足条件的元素的下标:findIndex

    找数组中第一个满足条件的元素:find

    截取:slice

    排序:sort

    合并:concat

    判断数组中是否所有元素都满足指定条件:every

    六、字符串

    字符串可以取下标 - 字符串[下标]

    字符串是只读数据,只能读取字符,不可以修改、删除字符

    字符串可以比较大小,规则:逐字符比较

    字符的大小由阿斯克码决定

    09:4857

    az:97122

    AZ:6590

    七、字符串方法

    查找字符或小字符串第一次出现的下标:indexOf

    查找字符或小字符串最后一次出现的下标:lastIndexOf

    分割成数组:split

    获取指定下标对应字符的阿斯克码:charCodeAt

    替换字符串:replace

    去除空白:trim/trimLeft/trimRight

    转大写:toUpperCase

    转小写:toLowerCase

    根据阿斯克码获取字符:String.fromCharCode

    判断字符串中是否包含某个字符或小字符串:includes

    截取字符串:slice/substr/subtring

    判断字符串是否由某个字符或小字符串开头:startsWith

    判断字符串是否由某个字符或小字符串结尾:endsWith

    重复某个字符串:repeat

    查找字符串中第一个满足指定正则表达式的小字符串的下标:search

    提取字符串中满足正则表达式的小字符串:match

    八、数学操作

    随机数:random - 某个范围内的随机整数

    绝对值:abs

    向下取整:floor

    向上取整:ceil

    平方根:sqrt

    圆周率:PI

    最大值:max

    最小值:min

    四舍五入:round

    正弦:sin

    余弦:cos

    求次方:pow

    九、进制转换

    将其他进制转为10进制 - parseInt

    将10进制转成其他进制:toString

    十、时间日期

    创建时间日期对象:

    new Date() // 获取当前时间日期对象
    new Date(参数) // 指定的时间日期对象
    

    参数:

    '年-月-日 时:分:秒'

    年,月,日,时,分,秒

    时间戳

    获取具体的时间日期:

    年:getFullYear

    月:getMonth 获取到的结果是0~11

    日:getDate

    时:getHours

    分:getMinutes()

    秒:getSeconds()

    时间戳:getTime

    星期:getDay()

    设置具体的时间日期:

    年:setFullYear

    月:setMonth 设置的数字是0~11

    日:setDate

    时:setHours

    分:setMinutes()

    秒:setSeconds()

    时间戳:setTime

    相关文章

      网友评论

          本文标题:数据操作

          本文链接:https://www.haomeiwen.com/subject/hkyakdtx.html