react-------JS对象、数组方法实际应用集合

2023-10-20 03:01

本文主要是介绍react-------JS对象、数组方法实际应用集合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

目录

1、向空对象里添加键值对

 2、js在数组对象中添加和删除键值对(对象属性)的方法

2.1  添加

 3、对已有的数据更换键值对的属性名

 4、js字符串拼接、数组转字符串

 5、从数组中提取元素


 

1、向空对象里添加键值对

对象的属性可以使用[ ] 或者 .      而数组只能使用 [index]

const value = {}
value['a'] = 1
value['b'] = 2
console.log(value) //  { a:1, b:2 }const obj = {}
obj['user']='admin'
obj['password']='123456'
console.log(obj) //  { user:'admin', password:'123456' }const result = {index: 20,person:[{id: '1',name: 'xx',},{id: '2',name: 'vv',}]
}
// 取出第二个name的值
resule.person[1].name  或者  result['person'][1]['name']const v = {}
v.a = '123'
v.b = '你好'
console.log(v) //  { a:'123', b:'你好' }

 2、js在数组对象中添加和删除键值对(对象属性)的方法

 

2.1  添加

1.Object.assign():用法-Object.assign(源对象, {要添加的键值对})

        Object.assign的用法

2.拓展运算符(...):用于取出参数对象所有可遍历属性然后拷贝到当前对象

1、// 注意:// 1、源对象属性与目标对象属性不同,则会被拷贝到目标对象中;// 2、如果目标对象和源对象有相同的属性,目标对象的属性值会被源对象的属性值覆盖掉;// 3、如果有多个源对象有相同的属性,那么目标对象的属性将会被最后一个源对象属性覆盖。const target = { a: 1, b: 2 };const source1 = { b: 4, c: 5 };const source2 = { b: 6, c: 7 };const obj = Object.assign(target,source1);const object = Object.assign(target,source1,source2);console.log(obj );    // { a: 1, b: 4, c: 5 }console.log(object ); // { a: 1, b: 6, c: 7 }2、// 拓展运算符:let obj = {a: '1', b:'2'}let obj1 = {...obj, c: '3'}

2.2  删除


1. 将属性设置为 undefined: 属性本身仍将存在于对象中,它还会改变原始对象。
2. 使用 delete 操作符: delete 将完全从对象中删除属性,会导致原始对象的发生改变,但速度很慢。
        delete操作符移除对象指定属性,删除成功返回true,否则返回false。
        删除的属性不存在,delete不会起任何作用 ,但是仍会返回true。
        如果原型链有同名属性,只会删除自身的属性。
        delete不能删除全局作用域函数以及作用域中用let或const声明的属性。
        delete可以删除对象的函数。
        不可设置属性不能被删除。比如Math、Array、Object内置对象属性以及使用Object.defineProperty()方法设置的属性。
3. 使用对象解构:通过用展开运算符(…)可以将需要省略特定属性的对象解构到新对象。这个技巧在需要删除多个属性时特别有用,并且不会更改原始对象。

const { gender, ...newPet } = pet; //newPet为删除后的
4.使用Reflect:ES6新增的方法,Reflect.deleteProperty(对象,属性名),返回一个布尔值。

Reflect.deleteProperty(pet, 'gender')

1、 const a = {b: '1'}a.b = undefinedconsole.log(a)  // { b: undefined }delete a.bconsole.log(a)  // {}const c = {b: '1'}Reflect.deleteProperty(c, 'b')console.log(c)  // {}

 

 3、对已有的数据更换键值对的属性名

const obj = {}
// selectValues 是个非空数组 
// selectValues = [{ deptName: 'ni', deptId: '123' }, { deptName: 'hao', deptId: '01256987' } ]
// 要求更换键值对 中 键的名字,值不变(给键值对啊更换属性名)
selectValues && selectValues .map((item) => {obj .push({name: item.deptName,id: item.deptId,})
}
console.log(selectValues ) // [{ name: 'ni', id: '123' }, { name: 'nihao', id: '01256987'}]

 4、js字符串拼接、数组转字符串

const a = [{name: 'xx', age: '15'}, {name: 'nn', age: '7'}, {name: 'vv', age: '14'}, {name: 'tt', age: '15'}]let str = ''
if(a && a.length > 0){a.map(item => {str += item.name + '、'}str = str.substring(0, str.length - 1)}
console.log(str)  // 'xx'、'nn'、 'vv'、'tt'// 应用: 如果后端返回一个数组,我们回显到输入框上只显示名字
-----------------------------------------------------------------------------------------const formArr = ["科比", "麦迪", "卡特", "艾弗森"]
let str = "";for (let i = 0; i < formArr.length; i++) {str += formArr[i] + ",";}a= str.substring(0, str.length - 1);console.log(a,'a') // 科比,麦迪,卡特,艾弗森-----------------------------------------------------------------------------------------
const a = formArr.toString()
console.log(a,'a') // 科比,麦迪,卡特,艾弗森-----------------------------------------------------------------------------------------
const a = formArr.toLocaleString()
console.log(a,'a') // 科比,麦迪,卡特,艾弗森-----------------------------------------------------------------------------------------
const a = formArr.join('&')
console.log(a,'a') // 科比&麦迪&卡特&艾弗森

 5、从数组中提取元素

        5.1  基于数组下标提取元素

const value= ['a', 'b', 'c']
const s = value[0]
console.log(s) // 'a'

        5.2   基于ES6 新语法(const) 提起数组元素

const value= ['a', 'b', 'c']
const[one] = value
console.log(one) // 'a'

        5.3  从数组中提取连续多个元素

const value= ['a', 'b', 'c']
const[one, two] = value
console.log(one) // 'a'
console.log(two) // 'b'

        5.4  向数组中添加新元素

const value= ['a', 'b', 'c']
const[one, two, three, four='d'] = value
console.log(one) // 'a'console.log(value) // ['a', 'b', 'c', 'd']

        5.5  跳过数组中的元素

const value = ['a', 'b', 'c', 'd']
const[first, , third] = value
console.log(first)  // 'a'
console.log(third)  // 'c'

        5.6  分配数组中剩下的元素给某元素

const value = ['a', 'b', 'c', 'd']
const[first, ...res] = value
console.log(first)  // 'a'
console.log(res)  // ['b', 'c','d']

        5.7  数组中嵌套对象

const person = {'name': 'xx','age': 20,'facts':{'hobby': '读书、运动','worker': 'vv'}
}
const{facts:{address='中国'}} = person
console.log(address) // 中国
console.log(person ) // {'name': 'xx','age': 20,'facts':{'hobby': '读书、运动','worker': 'vv','address': '中国' }}

  6、js数组方法: JS数组方法(详细)

 

 

这篇关于react-------JS对象、数组方法实际应用集合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/244178

相关文章

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

Java调用DeepSeek API的8个高频坑与解决方法

《Java调用DeepSeekAPI的8个高频坑与解决方法》现在大模型开发特别火,DeepSeek因为中文理解好、反应快、还便宜,不少Java开发者都用它,本文整理了最常踩的8个坑,希望对... 目录引言一、坑 1:Token 过期未处理,鉴权异常引发服务中断问题本质典型错误代码解决方案:实现 Token

Nginx 访问控制的多种方法

《Nginx访问控制的多种方法》本文系统介绍了Nginx实现Web访问控制的多种方法,包括IP黑白名单、路径/方法/参数控制、HTTP基本认证、防盗链机制、客户端证书校验、限速限流、地理位置控制等基... 目录一、IP 白名单与黑名单1. 允许/拒绝指定IP2. 全局黑名单二、基于路径、方法、参数的访问控制

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持

MySQL查看表的历史SQL的几种实现方法

《MySQL查看表的历史SQL的几种实现方法》:本文主要介绍多种查看MySQL表历史SQL的方法,包括通用查询日志、慢查询日志、performance_schema、binlog、第三方工具等,并... 目录mysql 查看某张表的历史SQL1.查看MySQL通用查询日志(需提前开启)2.查看慢查询日志3.

MySQL底层文件的查看和修改方法

《MySQL底层文件的查看和修改方法》MySQL底层文件分为文本类(可安全查看/修改)和二进制类(禁止手动操作),以下按「查看方法、修改方法、风险管控三部分详细说明,所有操作均以Linux环境为例,需... 目录引言一、mysql 底层文件的查看方法1. 先定位核心文件路径(基础前提)2. 文本类文件(可直

Java实现字符串大小写转换的常用方法

《Java实现字符串大小写转换的常用方法》在Java中,字符串大小写转换是文本处理的核心操作之一,Java提供了多种灵活的方式来实现大小写转换,适用于不同场景和需求,本文将全面解析大小写转换的各种方法... 目录前言核心转换方法1.String类的基础方法2. 考虑区域设置的转换3. 字符级别的转换高级转换

使用Python实现局域网远程监控电脑屏幕的方法

《使用Python实现局域网远程监控电脑屏幕的方法》文章介绍了两种使用Python在局域网内实现远程监控电脑屏幕的方法,方法一使用mss和socket,方法二使用PyAutoGUI和Flask,每种方... 目录方法一:使用mss和socket实现屏幕共享服务端(被监控端)客户端(监控端)方法二:使用PyA

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4