js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法

1、js给对象添加变量属性

1、js创建一个对象或者在原有对象上添加一个已知属性,并给这个属性赋值,写法如下:

let obj = {'a1':'a1'};
obj['a2'] = 'a2';
console.log(obj);//输出{'a1':'a1','a2':'a2'};

2、添加一个变量属性,并赋值变量,写法如下:

function add(name,value){let obj = {"a1":"a1"};obj[name] = value;//返回参数console.log(obj);//{"a1":"a1","b1":"b1"}
}
add("b1","b1");

3、js 更改对象中的属性名

const json = JSON.parse(JSON.stringify(options).replace(/name/g,"label"));

注:

1、options是需要更改属性的对象

2、replace(/name/g,“label”) ,将对象里所有属性为name的都修改成label

2、js把数组里面的所有对象合并成一个对象

let obj = [{name1: '张三',age1: "12"},{name2: '李四',age2: "14"},{name3: '王五',age3: "30"}
]let newObj = {} // 新建一个对象obj.forEach((item) => {newObj = {...newObj,...item} // 要把自己放进去
})
console.log(newObj) // { name1: "张三", age1: "12", name2: "李四", age2: "14", name3: "王五", age3: "30" }

3、数组对象中每个对象添加一个字段

小案例

let arr = [{'name': 'aa','age': 10},{'name': 'bb','age': 12}
]
let newArr = []arr.map((item, index) => {newArr.push(Object.assign({}, item, {id: index}))
})console.log(arr) // [ {'name': 'aa', 'age': 10},{'name': 'bb', 'age': 12}]
console.log(newArr)// [ {name: "aa", age: 10, id: 0},{name: "bb", age: 12, id: 1}]

详解

将数组对象中每一个对象添加一个字段

let arr = [{name: 'lilei',age: '25'},{name: 'nike',age: '23'},{name: 'alisa',age: '23'}
]
使用Array map()方法

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map()方法将调用的数组的每个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值,有三个参数
1、currentValue 必须。当前元素的值
2、index 可选。当前元素的索引值
3、index 可选。当前元素属于的数组对象

let _arr = []
arr.map((item, index) => {_arr.push(Object.assign({},item,{sex: 'men'}))
}))
//  _arr返回结果
[{name: 'lilei',age: '25',sex: 'men'},{name: 'nike',age: '23',sex: 'men'},{name: 'alisa',age: '23',sex: 'men'}
]

小案例

 let arr = [23, 31, 60, 88, 90, 108, 260]/* 1. 需求:数组中的每一个元素+1 */let arr1 = arr.map((value, index) => {return value + 1 //让每个元素的值+1})console.log(arr1); //) [24, 32, 61, 89, 91, 109, 261]/* 2.需求:超过100的商品打八折 */let arr2 = arr.map((value, index) => {if (value > 100) {return value * 0.8} else {return value;}})console.log('arr2', arr2); // [23, 31, 60, 88, 90, 86.4, 208]
使用Array forEach()方法

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
1、currentValue 必须。当前元素的值
2、index 可选。当前元素的索引值
3、index 可选。当前元素属于的数组

arr.forEach((value , index) => {value['sex'] = 'men'
})
//  返回原数组arr
[{name: 'lilei',age: '25',sex: 'men'},{name: 'nike',age: '23',sex: 'men'},{name: 'alisa',age: '23',sex: 'men'}
]

综合实例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title>
</head><body><script>let arr = [{'name': 'aa','age': 10},{'name': 'bb','age': 12}]let newArr = []arr.map((item, index) => {newArr.push(Object.assign({}, item, {id: index}))})console.log(arr) // [ {'name': 'aa', 'age': 10},{'name': 'bb', 'age': 12}]console.log(newArr)// [ {name: "aa", age: 10, id: 0},{name: "bb", age: 12, id: 1}]let ary = [{name: 'lilei',age: '25'},{name: 'nike',age: '23'},{name: 'alisa',age: '23'}]ary.forEach((value, index) => {value['sex'] = 'men'})console.log(ary)</script>
</body></html>

效果图-数组对象中添加字段

js给对象添加变量属性 js 更改对象中的属性名 数组对象中每个对象添加一个字段-map用法和forEarch用法相关推荐

  1. 《C++ Primer 第五版》(第3.5-3.6节) ——C++中的内置数组类型,string对象和C风格字符串

    1.C++中的内置数组类型 C++中的数组是内置数据类型,但不是基础数据类型而是构造数据类型,是有限个相同数据.占据着连续物理存储空间的有序集合.而内置数据类型定义的下标运算符可以处理负值运算(只要在 ...

  2. OC中创建对象,存入数组,并且遍历对象

    在这个地方我们将通过一个例子来演示怎样来创建一个对象,创建数组,怎样将数组中的对象的属性都输出来. 首先为了完成这样的一个目标我们需要做的是创建一个对象: #import <Foundation ...

  3. qt5中字符串转字符串数组_Qt中的对象类型转换(Qstring 转换char*有三种方法)

    char * 与 const char *的转换 char *ch1="hello11"; const char *ch2="hello22"; ch2 = c ...

  4. 【JavaLearn】 # (2)类和对象、变量、构造方法、普通方法、this关键字

    1. 类和对象 1.1 面向过程和面向对象 面向过程和面向对象都是对软件分析.设计和开发的一种思想. 机器语言 汇编语言 高级语言 面向过程:C.Fortran... 面向对象:C++.Java.C# ...

  5. 对象、对象的属性、对象字面量、枚举对象中的属性、可变类型、变量和对象——JS对象

    目录 一.对象 二.对象的属性 三.对象字面量 四.枚举对象中的属性 五.可变类型 六.变量和对象 数据类型: 原始值:(不可变类型) 1.数值 Number 2.大整数 BigInt 3.字符串 S ...

  6. 后处理程序文件大小的变量_【每日一题】(17题)面试官问:JS中事件流,事件处理程序,事件对象的理解?...

    关注「松宝写代码」,精选好文,每日一题 作者:saucxs | songEagle 2020,实「鼠」不易 2021,「牛」转乾坤 风劲潮涌当扬帆,任重道远须奋蹄! 一.前言 2020.12.23 立 ...

  7. js获取对象数组中指定属性值对象_3分钟学会操作JavaScript内置对象,快来试试吧...

    1 - 内置对象 1.1 内置对象 JavaScript 中的对象分为3种:自定义对象 .内置对象. 浏览器对象. 前面两种对象是JS 基础 内容,属于 ECMAScript: 第三个浏览器对象属于 ...

  8. JS对象中的属性类型、属性定义和属性读取

    理解对象 ES5中的对象是指无序的属性的集合.(属性可以是基本值.对象和函数). 对象的属性类型有两种,一种是数据属性,是数据值的保存位置:另一种是访问器属性,包含getter和setter函数. 1 ...

  9. 2.JS执行上下文和变量对象

    文章目录 执行上下文栈 函数上下文 变量对象 执行过程 进入执行上下文 代码执行 两个例子 1 2   JS 是单线程语言,因此执行顺序是顺序执行,不过 JS 引擎在执行 JS 代码的时候并不是逐行执 ...

最新文章

  1. oracle中key,mysql中的key在oracle中是什么
  2. 加速产业AI化!浪潮提出”元脑“生态计划,要用计算力+生态成就行业AI大脑...
  3. 2018python培训-Python学习之路—2018/7/2
  4. SharePoint 2010 大中小架构的部署
  5. 8 仓储单位类型E1对于物料xxxxxx没有维护
  6. rgb颜色查询工具_认识色彩的三要素 理解颜色的此消彼长 合理使用工具改变照片色彩...
  7. crontrigger java_java CronTrigger用法
  8. UA PHYS515 电磁理论I 麦克斯韦方程组基础2 从实验定律到麦克斯韦方程
  9. 微信公众号如何开通支付功能?
  10. python科赫雪花正方形_python—科赫曲线(科赫雪花小包裹)
  11. JSP基础教程【1】
  12. Linux中cinder的作用,11-cinder块存储服务部署
  13. ESD(静电释放)下半部分
  14. 自定义控件ViewGroup上下滑动
  15. 【论文】Learning RoI Transformer for Oriented Object Detection in Aerial Images
  16. springboot的登录拦截器的学习
  17. window驱动下载
  18. android 多渠道上线,Android打包之多版本、多环境、多渠道
  19. 翻译:《Beginning HTML with CSS and XHTML》序
  20. 计算机科学和统计学AP,新航道解析:AP计算机科学A-标识符和类型

热门文章

  1. 小娱路由php,跟风折腾小娱路由器XY-C5,做低功耗路由+下载器+轻量化NAS.
  2. mysql自增主键和mybatis自增主键不一致问题(已解决):
  3. 云计算时代催生下一代网络变革-软件定义的网络之技术架构篇
  4. 【SCI征稿】年底冲计算机神刊!最快1-2个月见刊!
  5. 值得关注的IT技术博客
  6. 项目经理和产品经理的区别是什么?从这些方面来看
  7. Java PDF数字签名(一) - 添加数字签名
  8. “简单证明GUID(全局唯一标识符)并不唯一”
  9. FreeMarker 输出Boolean类型变量默认值
  10. ARM体系架构—ARMv7-A处理器模式及寄存器