给数组里面的对象添加一个新的数据
ES6写法
data.data.forEach((item,index) => {console.log(item.excerpt.length)let excerpt3 = {excerpt2:''};let newObjif(item.excerpt.length > 120){excerpt3.excerpt2 = item.excerpt.slice(0,120);newObj = Object.assign(item,excerpt3);// this.DataList[index].excerpt2 = excerpt2;console.log(newObj)this.DataList.push(newObj);}});
如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。后来的源的属性将类似地覆盖早先的属性。
Object.assign
方法只会拷贝源对象自身的并且可枚举的属性到目标对象。该方法使用源对象的[[Get]]
和目标对象的[[Set]]
,所以它会调用相关 getter 和 setter。因此,它分配属性,而不仅仅是复制或定义新的属性。如果合并源包含getter,这可能使其不适合将新属性合并到原型中。为了将属性定义(包括其可枚举性)复制到原型,应使用Object.getOwnPropertyDescriptor()
和Object.defineProperty()
。
String
类型和 Symbol
类型的属性都会被拷贝。
在出现错误的情况下,例如,如果属性不可写,会引发TypeError
,如果在引发错误之前添加了任何属性,则可以更改target
对象。
注意,Object.assign
会跳过那些值为 null
或 undefined
的源对象。
深拷贝问题
针对深拷贝,需要使用其他方法,因为 Object.assign()
拷贝的是属性值。假如源对象的属性值是一个指向对象的引用,它也只拷贝那个引用值。
利用新建数组给原数组添加数据
data.data.forEach((item,index) => {let DataList2 = {excerpt2:''};DataList2 = item;DataList2.excerpt2 =item.excerpt.slice(0,120);this.DataList.push(DataList2);console.log(DataList2)})
给数组里面的对象添加一个新的数据相关推荐
- JavaScript中对象数组,如何给对象添加一个新属性
var a =[{name: 'Tom',age:20},{name: 'Tom2',age:22}] 现在给a数组中的第一个对象添加性别属性 a[0]['gender']='women' a[0][ ...
- js给对象添加变量属性 js 更改对象中的属性名 数组对象中每个对象添加一个字段-map用法和forEarch用法
js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法 1.js给对象添加变量属性 1.js创建一个对象或者在原有对 ...
- vue 中遍历数组对象 存到一个新数组里
vue 中遍历数组对象 存到一个新数组里(亲测可行!!!) 参考文档 : MDN-解构赋值 方法一 : For of 迭代和解构 var people = [{name: 'Mike Smith',f ...
- 数组的迭代数组里面每个对象添加属性值_JS数组和对象循环遍历的几种实现方式...
数组遍历 1. 普通for循环 let arr = [1,2,3,4,5] for (let i = 0; i < arr.length; i++) {console.log(arr[i]) } ...
- [vue] 动态给vue的data添加一个新的属性时会发生什么?怎样解决?
[vue] 动态给vue的data添加一个新的属性时会发生什么?怎样解决? 如果在实例创建之后添加新的属性到实例上,它不会触发视图更新.如果想要使添加的值做到响应式,应当使用$set()来添加对象. ...
- 为Array对象添加一个去除重复项的方法
输入例子: [false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN].uniq() 输出例子: [false, true, un ...
- 为 Array 对象添加一个去除重复项
为 Array 对象添加一个去除重复项的方法 方法一: Array.prototype.uniq = function () {var arr= [];var flag=true;this.forEa ...
- 向Hadoop集群添加一个新的节点
如何向向Hadoop集群添加一个新的节点? 1.在新节点安装好hadoop或者从其他节点复制一份 2.把namenode的有关配置文件复制到该节点 3.修改masters和slaves文件,增加该节点 ...
- java:合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。
合并两个排序的整数数组A和B变成一个新的数组.新数组也要有序. 样例 1:输入: A=[1], B=[1]输出:[1,1]样例解释: 返回合并后的数组.样例 2:输入: A=[1,2,3,4], B= ...
最新文章
- CF888G Xor-MST (01字典树+MST)
- “云+大数据”时代 中端存储如何选择
- leetcode235. 二叉搜索树的最近公共祖先
- C++命名空间的玩法
- 计算一个文件下的所有视频总时长
- 董承非: 如何从各种类型的错误中学习
- Android 如何获取系统签名 并使用系统签名
- DEM数据获取方法与采样基础理论
- 项目管理助力中国企业发展
- Java计算机毕业设计大学生企业推荐系统源码+系统+数据库+lw文档
- wincc工程组态论文_2020/12/18【推荐】几种常用工控组态软件介绍,这次找齐了,你懂哪种?...
- 微服务架构下的统一身份认证和授权
- iphone页面怎么实现固定工具栏 html css js,固定工具栏 data-position=fixed
- 【金融财经】金融市场一周简报(2017-09-01)
- 机器学习实战读书笔记-朴素贝叶斯
- 传奇中添加NPC及功能脚本
- PS抠章、去水印-你懂得
- [CDQ分治与整体二分]个人对CDQ分治与整体二分的理解
- 弹性盒子(弹性布局)
- 当六月的雨,带了些许思念的时候,记忆的扉页,被忧伤一一翻阅