js怎么获取动态链式属性呢?

摘要:
我自己起的名字,样子就是vardata={list:{name:'zxf'}}varprop="list.name";console.log这样输出肯定是不行的,那应该怎么访问呢?我们知道如果prop只有一个属性值就可以了,比如varprop="list";data[list]是可以的,那么我们利用这个可以换种思路vardata={list:{name:'zxf'}}varprops="list.name";varres=data;varpaths=props.split('.');while{res=res[paths.shift()]}console.log;这里,把属性值以.为分割,成为一个数组,然后在while循环里面我们利用数组的shift先获取第一个属性,同时删除,这样就得到了对象list,然后再循环,这样就可以输出了。

动态链式属性?我自己起的名字,样子就是

var data={
	list:{
		name:'zxf'
	}
}
var prop="list.name";
console.log(data[prop])

这样输出肯定是不行的,那应该怎么访问呢?
我们知道如果prop只有一个属性值就可以了,比如var prop="list";data[list]是可以的,那么我们利用这个可以换种思路

var data={
	list:{
		name:'zxf'
	}
}
var props="list.name";
var res=data;
var paths=props.split('.');
while(paths.length>0){
	res=res[paths.shift()]
}
console.log(res);

这里,把属性值以.为分割,成为一个数组,然后在while循环里面我们利用数组的shift先获取第一个属性,同时删除,这样就得到了对象list,然后再循环,这样就可以输出了。

免责声明:文章转载自《js怎么获取动态链式属性呢?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇让WPF的Popup不总置顶的解决方案也谈同步异步I/O下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

inspect的使用安卓动态分析工具

一.安装步骤   1.安装xposed   2.安装inspect 二.inspect 一个基于Xposed 开发的应用动态分析工具 github已开源 内置web页面 体验度很不错 ‘ 核心功能 监控Shared Preferences 数据 绕过SSL 可以抓到https 以及使用HOOK 过滤出很多有价值的数据 信息收集 请求权限; 应...

oracle中动态SQL详解

部分内容参考网上资料 1.静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型;另外一种是后期联编(late binding),即SQL语句只有在运行阶段才能建立,例如当查询条件为用户输入时,那么Oracle的SQL引擎...

freemarker动态生成word并将生成的word转为PDF,openoffice转换word乱码

之前项目有个需求,需要先动态生成word内容,然后再预览生成word的内容(不能修改).整理一下,方便以后使用. 网上参考了好多大神的博客.具体也忘了参考谁的了,如有侵权,请告知修改. 思路一: 将目标word文件另存为xml文件,将里面的需要动态生成的内容用freemarker的表达式${}替换. 用freemarker生成word的工具类,动态生成wo...

python-获取类名和方法名,动态创建类和方法及属性

获取类名和方法名1.在函数外部获取函数名称,用.__name__获取2.在函数内部获取当前函数名称,用sys._getframe().f_code.co_name方法获取3.使用inspect模块动态获取当前运行的函数名,return inspect.stack()[1][3]需要封装个方法在被测函数中调用4.在类内部获取类名称self.__class__...

【物联网智能网关13】Html5:Canvas+WebSocket实现远程实时通信(上)

在上一篇博文《网关为核心,互联网为基础构建物联网平台》中简要介绍了基于.NET Micro Framework如何构建Web Server应用,本篇文章将基于Html5的Canvas和WebSocket技术详细介绍远程实时通信的实现。 无论是windows还是linux平台都已提供现成的Web Server技术,在服务端支持诸如ASP.net、ASP、PH...

mysql 动态拼接表字段,值 mybatis 动态获取表字段

-- 取表所有字段,自动用逗号分开 select GROUP_CONCAT(DISTINCT COLUMN_NAME) from information_schema.columns where table_name='tb1'结果集:  字段1,字段2,字段3,字段4..... -- 动态拼接字段,给mybatis用 某些业务情况下没有去使用自动生成代...