-
2019-05-16 08:27:36
如题,类似这样定义了一个变量:
var key = "name"; var value = "Merry"; var obj = { key: value};
结果发现obj的属性是key,而不是预期的name,那么应该怎么写呢?
var obj = { [key]: value};
关于这个问题,大家可以查看阮一峰的ECMScript 6入门:10. 对象的扩展 之 2. 属性名表达式
更多相关内容 -
使用变量动态设置js的属性名
2020-12-09 01:55:42举例:js对象object,当赋给该对象属性的时候可以采用以下方式 代码如下: var object; object.prop1 = “value1”; object.prop2 = “value2”; 也可以采用如下方式: 代码如下: object.push({prop1:”value1″});... -
js对象如何通过变量读取属性
2022-02-07 11:13:10先看看js读取属性的常见的方法。 1.通过.的方式读取 let obj = { name:"javascript", price:20000 } console.log(obj.name,obj.price) 2.通过[变量名]的方式读取 let obj = { name:"javascript", price:...先看看js读取属性的常见的方法。
1.通过.的方式读取
let obj = { name:"javascript", price:20000 } console.log(obj.name,obj.price)
2.通过[变量名]的方式读取
let obj = { name:"javascript", price:20000 } console.log(obj['name'],obj['price'])
如果有这样一段代码,输出结果会是什么呢?
let a = 'name let obj = { name:"javascript" } console.log(obj.a)
结果如下:
为什么是undefined,而不是JavaScript,英文obj.a的意思是obj['a'],他是去找obj里面的a这个属性,而不会把a当作一个变量,这是关键。如果是obj[a]的话结果就是'javascript' ,obj[a]等价于obj['name']等价于obj.name。
好,如果我们要给一个函数传参数,参数是一个对象,对象的属性是一个变量该如何传递。看下面的代码。
//这是一个将表格中某一个输入框内的小写字母变为大写字母的函数 const lowerToUpper = (type,value)=>{ //form1就是那个表格,setFieldsValue是改变表格值的方法,参数是一个对象,你想要改变那个一输入框的值,就把该输入框的name属性的值当作key,输入框的值当作value传递. /* form1.setFieldsValue({ password:value.toUpperCase()//就是把name值为password的输入框的值改为大写 }) */ //当传递的type不同时,要进行改变的输入框也就不同(可能是在操作不同的输入框),这时候我们读取type值作为对象的属性就要使用[type]的方法才能正确拿到不同的属性 form1.setFieldsValue({ [type]:value.toUpperCase() }) }
-
js给对象添加变量属性
2018-11-21 15:44:491、js创建一个对象或者在原有对象上添加一个已知属性,并给这个属性赋值,写法如下: let obj = {'a1':'a1'}; obj['a2'] = 'a2'; console.log(obj);//输出{'a1':'a1','a2':'a2'}; 2、添加一个变量属性,并赋值...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");
-
js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法
2021-05-20 15:09:55js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法 1、js给对象添加变量属性 1、js创建一个对象或者在原有对象上添加一个已知属性,并给这个属性赋值...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 对象属性名为变量
2016-11-02 12:21:55js 对象属性名为变量 -
js 对象中属性名为变量
2018-11-14 16:11:10如表所示,需要获取参数名称和参数值组成对象传入后台 代码: <script> var paramMap = {}; $(".table").find("tbody tr").each(function () { var param_name = $(this... -
JavaScript移除对象中不必要的属性
2021-10-24 20:09:22业务开发中,我们经常会遇到:基于后端返回接口数据,前端保存到对象 Object 中,前端开发过程中为了一些场景的便利性,需要在该对象中增加相应的属性,但这些属性对于后端没有意义,保存提交时希望删除掉。... -
C#开发Unity游戏教程之游戏对象的属性变量
2015-07-07 14:52:06C#开发Unity游戏教程之游戏对象的属性变量 -
frida修改对象属性(变量)
2019-05-19 21:44:43mon.name.value="haidragon"; send(mon); send(mon.name.value); var numid = Java.cast(mon.getClass(),clazz).getDeclaredField('num'); numid.setAccessible(true); var value = numid.get(mon); console.... -
freemarker如何通过一个变量取对象的属性值?
2019-03-22 10:15:21``` public class TestBean { private String selTestBean...colList中的字符串是testBean中的属性名,一一对应,str变量的值即testBean的属性 input标签的value值是testBean对应属性的值,value值要怎么写 -
@Value为static变量赋值
2019-02-26 11:38:391.配置文件中定义了user.name=zsan 2.错误示范 3.正确注入方式(切记,set方法不要写成static的) -
js 变量作为 对象的属性
2015-06-16 10:53:09用[]的方式即可 obj[addvar]=addvar_value; 参考网址: http://www.phper163.com/archives/405 -
spring @value 注入static 注入静态变量方法
2019-02-21 16:19:25对于spring static变量 下面给大家介绍spring不能注入static变量...static变量是类的属性 只能在setAppId方法上加注解,另外class需要加 @Component等注解,这样spring才能扫描到 对于 mport org.springframewo... -
js监听变量值或对象属性值变化的方法
2019-01-05 14:37:51@js监听变量值或对象属性值变化的方法 js监听变量值或对象属性值变化的方法 监听值的改变 此方法用于监听对象属性值的改变, 要监听js中的变量可以加在一个对象中监听即可 监听的对象是Data , 监听的变量是data ... -
JavaScript 使用变量访问对象属性
2018-11-28 21:23:09当你需要遍历对象的属性列表或查表时,这种方式极为有用。 这有一个使用变量来访问属性的例子: var someProp = "propName"; var myObj = { propName: "Some Value" } myObj[someProp]; // &... -
值对象 Value Object
2020-07-08 22:26:47值对象本身是无状态的,不可变,没有唯一标识,从这个层面上来讲,值对象可以理解为实际的Entity对象的一个属性的结合,该值对象附属在一个实际的实体对象上面。值对象本省不存在一个独立的生命周期,也一般不会产生... -
Thymeleaf系列三 调用对象的成员变量值、Map值、List值、属性的方法 、ctx对象、param、session和...
2017-06-13 21:51:41调用对象的成员变量的属性 调用Map的对象的属性 调用List的对象的属性 调用属性的方法 使用ctx对象 param:获取request的请求参数 session:获取session的属性值 application:获取application的属性值 -
python:python对象属性及属性函数property()
2016-02-21 16:56:55http://blog.csdn.net/pipisorry/article/details/50708616python对象属性Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。属性的__dict__系统对象的属性可能... -
JavaScript中的数据类型,获取对象中value的方法
2020-07-08 11:02:00数据类型 js中的数据类型分为五种基础类型和一种复杂类型,在...数据类型的存储:前五种基础类型都存储在栈中,对象存储在堆中 字符类型 string 1.1 双引号、单引号括起来的表示字符串, 在ES6中``也表示字符串 比如: -
SpringBoot静态变量无法使用@Value注入值
2019-04-08 15:22:51问题是这样的,最近项目中需要掉用其他组支持的配额接口,接口地址是在application.yml中配置的 通过给变量加注解注入配置,在调试的...使用@Value给普通变量注入配置文件的值,直接在变量声明之上添加@Value... -
static静态变量使用@Value注入方式
2018-03-06 17:19:52使用@Value 注解static类型 @Component public class MyConfig { @Value("${env}") private static String env; public static String getEnv() { return env; } public static void setE... -
JS中通过var定义全局变量与在window对象上直接定义属性的区别
2019-04-04 17:32:12JavaScript通过var定义全局变量与在window对象上直接定义属性的区别关于window区别一区别二区别三 关于window 一、所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。 二、全局变量是 window ... -
微信小程序 - this.setData() 属性名使用变量(key 动态属性)
2022-05-17 16:29:00我们多个输入框需要双向绑定的时候,会有很多函数使用 setData 进行赋值,遗憾的是每个函数代码几乎一致,仅仅修改的变量名不同而已。 例如,我现在有如下 data 数据: list: { name: '', page: '', limit: '' }... -
springboot使用@Value注解读取配置文件给静态变量赋值
2019-12-11 14:21:24给普通变量赋值时,直接在变量声明之上添加@Value()注解即可,如下所示: 当要给静态变量注入值的时候,若是在静态变量声明之上直接添加@Value()注解是无效的,例如: 虽然没有编译和运行上的报错,经调试可知这种... -
如何在页面上显示JS中的变量值,以及JS中value/innerText/innerHTML三个属性的区别
2018-11-22 17:48:47在页面上显示JS中的变量值 想要在页面上显示JavaScript中定义的变量值,查到两种方法: 一是通过document.write();二是在页面节点上显示 &amp;amp;amp;lt;div id='div'&amp;amp;amp;gt;&... -
移除/添加 JSON对象中的某个属性
2021-03-08 01:28:53因为JSON完全是动态的,所以给一个JSON对象添加一个属性是很简单的,如:var json = {};json.username='xtayfjpk';这样就为json对象添加了一个名...如有一个JSON对象:var user = {"phone": {"key1": "value", "key... -
向对象中添加key,value
2018-07-12 16:39:24if (value is bool){obj.key = value;} //value : true/falseif(value is string){obj.key = 'value'}eg.有如下类似数据,要想data.info中添加disableWifi: true, disableMobileData: falsedata{ id: "fe7a5951... -
VBA简述①(对象,属性,方法)
2021-02-26 13:27:17何为VBA的对象 作为在进入基本语法之前必须知道的...Range("{对象名}").{对象属性名} Range("A1").Value 示例:获取“A1”单元格的内容 如何设置对象的值 Range("{对象名}").{对象属性名}={值} Range( -
js 如何获取对象的动态属性
2021-05-11 23:02:11js 有两种方式获取对象的属性 点语法, 例如 person.name ... // 这里不能使用变量作为对象的属性名 console.log(person.name); // 中括号表示法 // 这里可以传入变量作为对象的属性名 let name = 'name';