如何从javascript对象获取属性值

编程入门 行业动态 更新时间:2024-10-25 20:19:26
本文介绍了如何从javascript对象获取属性值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个JavaScript对象。

I have a JavaScript object.

var obj = { Id: "100", Name: "John", Address: {Id:1,Name:"Bangalore"} } var dataToRetrieve= "Name"; function GetPropertyValue(object,dataToRetrieve){ return obj[dataToRetrieve] } var retval = GetPropertyValue(obj,dataToRetrieve)

这很好用。但是,如果我尝试获取Address.Name的属性值的值,

This works fine. But if I try to get the value of property value of "Address.Name" ,

喜欢: var dataToRetrieve =Address.Name; 显示 undefined 。

注意:属性变量由用户从HTML设置并且可以根据用户要求(他想要的属性值)进行更改。

Note : The property variable is set by user from HTML And it can be changed according to user requirement(which property value he wants).

我想要实现的目标:

1)如果 dataToRetrieve =Name,它应该给我John,

1) If dataToRetrieve = "Name" , it should give me "John",

2)如果 dataToRetrieve =Id,它应该给我100,

2) If dataToRetrieve = "Id" , it should give me "100",

3)如果 dataToRetrieve =Address.Name,它应该给我班加罗尔,

3) If dataToRetrieve = "Address.Name" , it should give me "Bangalore",

4)如果 dataToRetrieve =Address.Id,它应该给我1个

4) If dataToRetrieve = "Address.Id" , it should give me 1

Plunkr这里: PLUNKR

Plunkr Here : PLUNKR

推荐答案

使用 reduce() 方法

var obj = { Id: "100", Name: "John", Address: { Id: 1, Name: "Bangalore" } } function GetPropertyValue(obj1, dataToRetrieve) { return dataToRetrieve .split('.') // split string based on `.` .reduce(function(o, k) { return o && o[k]; // get inner property if `o` is defined else get `o` and return }, obj1) // set initial value as object } console.log( GetPropertyValue(obj, "Name"), GetPropertyValue(obj, "Id"), GetPropertyValue(obj, "Address.Name"), GetPropertyValue(obj, "Address.Id"), GetPropertyValue(obj, "Address.Idsd"), GetPropertyValue(obj, "Addre.Idsd") )

对于旧版浏览器,请检查 reduce方法的polyfill选项。

更多推荐

如何从javascript对象获取属性值

本文发布于:2023-11-07 00:43:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1565091.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:属性   对象   javascript

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!