首页 > 编程语言 >Javascript中Object、Array、String

Javascript中Object、Array、String

时间:2024-07-05 20:55:54浏览次数:16  
标签:返回 Object 对象 Javascript 数组 字符串 Array 属性

Object

在JavaScript中,Object 类型是一种复杂的数据类型,用于存储键值对集合。它提供了多种方法来操作这些键值对,以及执行其他常见的操作。这里,我列出了一些 Object 类型的常见方法或特性,它们在日常编程中非常有用:

  1. 属性访问
    • 点符号(.:如果属性名是一个有效的标识符(例如,没有空格、不是以数字开头等),你可以使用点符号来访问属性。obj.propertyName
    • 方括号([]:如果属性名不是有效的标识符(比如包含空格或特殊字符),或者你想动态地访问属性,你可以使用方括号。obj['propertyName'] 或 obj[variableName]
  2. Object.keys()

    • 返回一个由给定对象的自身属性的键组成的数组,数组中属性键的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致(两者的主要区别是 for...in 循环还会枚举其原型链上的属性)。
  3. Object.values()
    • 返回一个由给定对象自身的所有可枚举属性值的数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致(但只包含对象自身的属性)。
  4. Object.entries()
    • 返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致(同样只考虑对象自身的属性)。
  5. Object.assign()

    • 用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。注意,它只复制自有属性,不会复制继承的或不可枚举的属性。
  6. Object.create()

    • 创建一个新对象,使用现有的对象来提供新创建的对象的 __proto__(即原型)。
  7. Object.getPrototypeOf()
    • 返回指定对象的原型(即内部 [[Prototype]] 属性的值)。
  8. Object.hasOwnProperty()
    • 用来判断一个对象是否有某个属性,不管该属性是自身的还是继承的。它只判断属性是否存在于对象本身,不判断其是否存在于原型链中。
  9. Object.is()

    • 判断两个值是否严格相等。它与严格相等运算符(===)的区别在于处理 NaN 和 +0 与 -0 的方式不同
  10. Object.freeze()
    • 冻结一个对象。一个被冻结的对象不能被修改;即不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的值,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改该对象原型的指向。返回冻结后的对象。
  11. Object.defineProperty()

    • 在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。这个方法允许精确添加或修改对象的属性。
  12. Object.getOwnPropertyDescriptor()
    • 返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接附加在对象上的属性,而不是继承自其原型的属性)。

这些是 Object 类型的一些基本且常用的方法或特性,它们在处理JavaScript对象时非常有用。

 Array

在JavaScript中,Array 类型提供了许多内置的方法来操作数组,包括添加、删除、遍历、搜索、排序等。以下是一些常见的 Array 方法:

  1. push()
    • 向数组的末尾添加一个或多个元素,并返回新的数组长度。
  2. pop()
    • 删除并返回数组的最后一个元素。
  3. shift()
    • 删除并返回数组的第一个元素。
  4. unshift()
    • 在数组的开头添加一个或多个元素,并返回新的数组长度。
  5. concat()
    • 用于合并两个或多个数组。此方法不会改变现有的数组,而是返回一个新数组
  6. slice()
    • 返回一个浅拷贝的新数组对象,这个对象是一个由 begin 到 end(不包括 end)选择的数组的一部分浅拷贝。原始数组不会被修改。
  7. splice()

    • 通过删除现有元素和/或添加新元素来更改一个数组的内容。这个方法会改变原数组
  8. join()
    • 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
  9. sort()
    • 对数组的元素进行排序,并返回数组。排序不一定是稳定的。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的。
  10. reverse()
    • 颠倒数组中元素的顺序。
  11. indexOf()
    • 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
  12. lastIndexOf()
    • 返回指定值在数组中的最后一个索引,如果不存在则返回-1。从数组的后面向前查找。
  13. forEach()

    • 对数组的每个元素执行一次提供的函数。
  14. map()

    • 创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
  15. filter()

    • 创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
  16. reduce()
    • 对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
  17. reduceRight()
    • 它的工作原理类似于 reduce(),不同的是它是从数组的末尾开始向前遍历。
  18. find()
    • 返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined
  19. findIndex()
    • 返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。
  20. flat()
    • 按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回
  21. flatMap()
    • 首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 和 flat 方法的结合非常相似,但 flatMap 通常在性能上更优。

String 

在JavaScript中,String 类型提供了许多内置的方法来操作字符串,这些方法可以用于字符串的查找、替换、截取、转换等操作。以下是一些常见的 String 方法:

  1. length
    • 属性,用于获取字符串的长度。
  2. charAt(index)
    • 方法,返回在指定位置的字符。索引(index)从0开始计算。
  3. charCodeAt(index)
    • 方法,返回在指定的位置的字符的Unicode编码。索引(index)从0开始计算。
  4. concat(...strings)

    • 方法,用于连接两个或多个字符串,并返回连接后的新字符串。
  5. fromCharCode(...codes)
    • 静态方法,接受一个或多个Unicode编码值,然后返回一个字符串。注意,这是String对象的一个静态方法,因此应该通过String.fromCharCode()来调用。
  6. indexOf(searchValue, fromIndex)
    • 方法,返回指定值在字符串中首次出现的位置索引。如果未找到,则返回-1。fromIndex是可选的,表示开始搜索的位置。
  7. lastIndexOf(searchValue, fromIndex)
    • 方法,返回指定值在字符串中最后一次出现的位置索引,从字符串的末尾向前搜索。fromIndex是可选的,表示开始搜索的位置。
  8. match(regexp)

    • 方法,在字符串内检索与正则表达式相匹配的结果。如果没有找到匹配项,则返回null
  9. replace(searchValue/regexp, replaceValue)

    • 方法,在字符串中查找匹配的子串或正则表达式,并用新的子串替换它们。默认情况下,只替换第一个匹配项。如果replaceValue是一个函数,则对每个匹配项执行该函数,其返回值将用作替换文本。
  10. search(regexp)
    • 方法,检索与正则表达式相匹配的值。返回第一个匹配项的索引;如果没有找到匹配项,则返回-1。注意,search()方法不执行全局匹配,它总是从字符串的开始进行检索。
  11. slice(start, end)

    • 方法,提取字符串的一部分,并返回一个新字符串(被提取的部分)。start是开始提取的位置(包含),end是结束提取的位置(不包含)。如果省略end,则提取到字符串的末尾。
  12. split(separator, limit)

    • 方法,通过分隔符将字符串分割成子字符串数组。separator是分隔符,limit是可选的,用于限制返回数组的长度。
  13. substr(start, length)
    • 方法(注意:在较新的JavaScript版本中可能不推荐使用),从字符串中提取从start位置开始的指定数量的字符。如果省略length,则提取到字符串的末尾。
  14. substring(start, end)
    • 方法,提取字符串中介于两个指定下标之间的字符。返回的新字符串包括start处的字符,但不包括end处的字符。如果省略end,则提取到字符串的末尾。
  15. toLowerCase()
    • 方法,将字符串中的所有大写字符转换为小写字符,并返回新的字符串。
  16. toUpperCase()
    • 方法,将字符串中的所有小写字符转换为大写字符,并返回新的字符串。
  17. trim()
    • 方法,从字符串的两端删除空白字符。空白字符包括空格、制表符、换行符等。trim()方法不会改变原始字符串,而是返回一个新的字符串。
  18. includes(searchString, position)
    • 方法,判断字符串是否包含指定的子字符串,根据情况可指定开始搜索的位置。返回布尔值。
  19. startsWith(searchString, position)
    • 方法,判断字符串是否以指定的子字符串开头,根据情况可指定开始搜索的位置。返回布尔值。
  20. endsWith(searchString, position)
    • 方法,判断字符串是否以指定的子字符串结尾,根据情况可指定开始搜索的位置(但endsWith方法中的position参数实际上是限定在position之前的字符中搜索,而不包括position本身的字符)。返回布尔值。
  21. replaceAll(searchValue, replaceValue)
    • 方法(ES2021引入),在字符串中查找所有匹配的子串,并替换它们。与replace()方法不同,replaceAll()会替换所有匹配项,而不仅仅是第一个。

以上是一些JavaScript中String类型的常见方法,它们在处理字符串时非常有用。

 

标签:返回,Object,对象,Javascript,数组,字符串,Array,属性
From: https://blog.csdn.net/m0_55049655/article/details/140217830

相关文章

  • 「杂题乱刷2」CF1454F Array Partition
    题目链接CF1454FArrayPartition解题思路我们发现显然第一个和第三个区间的值区间随着长度的增大而增大。于是我们就可以枚举第一个区间的右端点位置,然后现在问题就转化成了找到一个断点来确定第二,三个区间的长度,由于前文提到的第三个区间的值区间随着长度的增大而增大,于是我......
  • ArrayList底层结构和源码分析
    //无参构造器创建ArrayList对象//ArrayListlist=newArrayList();//断点1ArrayListlist=newArrayList(8);//断点2//添加1-10数据for(inti=0;i<=10;i++){list.add(i);}//添......
  • ArrayList和LinkedList的比较
    基本比较 底层结构增删效率改查效率ArrayList可变数组较低;数组扩容较高LinkedList双向链表较高,通过链表追加较低选择使用若改查操作多选择ArrayList增删操作多选择LinkedList通常程序中大部分操作为查询,因此通常使用ArrayList根据需求,效率优先的原则......
  • 大学生HTML期末大作业——HTML+CSS+JavaScript学校网站(成都大学)
    HTML+CSS+JS【学校网站】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计......
  • 温故而知新,详细讲讲JavaScript的防抖与节流
    前言:哈喽,大家好,我是前端菜鸟的自我修养!今天给大家详细讲讲JavaScript的防抖与节流,包含二者的区别与优缺点、使用场景,并提供具体代码帮助大家深入理解,彻底掌握!原创不易,如果能帮助到带大家,欢迎收藏+关注哦......
  • Windows编程之多线程事件对象(Event Object)用法详解
    目录一、前言二、基础用法三、API详解1.创建事件对象2控制事件状态3.等待事件对象:四、实战案例1.案例描述 2.代码设计 3.总设计代码4.运行结果一、前言        事件对象(EventObject)是我们在大型项目中,进行多线程同步处理的时候经常用到的一种内核对象......
  • JavaScript中的异步模式
    JavaScript中的异步模式JavaScript语言的执行环境是“单线程(singlethread)”,就是指一次只能完成一个任务。如果有多个任务,就必须排队,等前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯,坏处是只要有一个任务耗时很长,后面的任务......
  • torch.tensor、numpy.array、list三者之间互相转换
    torch.tensor、numpy.array、list三者之间互相转换1.1list转numpyndarray=np.array(list)1.2numpy转listlist=ndarray.tolist()2.1list转torch.Tensortensor=torch.Tensor(list)2.2torch.Tensor转list先转numpy,后转listlist=tensor.numpy().tolist(......
  • 优化代码以避免 ESLint 的 array-callback-return 错误,需要确保 map 函数中的每个回调
    要优化这段代码以避免ESLint的array-callback-return错误,你需要确保map函数中的每个回调都返回一个值或者通过早期返回来处理。在你的例子中,你只在满足特定条件时返回元素。ESLint的规则要求每个数组迭代都应有返回值,否则它会抛出警告。一种解决方案是在不满足任何条件......
  • javascript url 传递参数中文乱码问题解决方案
    在JavaScript中,传递URL参数时,如果参数包含中文字符,可能会出现乱码问题。解决这一问题可以使用encodeURIComponent和decodeURIComponent函数。这些函数会对URL参数进行编码和解码,确保特殊字符(包括中文字符)能够被正确传递和解析。以下是一个完整的解决方案示例: 1.......