为了账号安全,请及时绑定邮箱和手机立即绑定

如何以对象作为成员遍历普通JavaScript对象?

如何以对象作为成员遍历普通JavaScript对象?

梵蒂冈之花 2019-06-05 13:09:06
如何以对象作为成员遍历普通JavaScript对象?如何循环遍历JavaScript对象中的所有成员,包括属于对象的值。例如,我如何循环这个(访问“您的名称”和“您的消息”)?var validation_messages = {     "key_1": {         "your_name": "jimmy",         "your_msg": "hello world"     },     "key_2": {         "your_name": "billy",         "your_msg": "foo equals bar"     }}
查看完整描述

3 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

for (var key in validation_messages) {
    // skip loop if the property is from prototype
    if (!validation_messages.hasOwnProperty(key)) continue;

    var obj = validation_messages[key];
    for (var prop in obj) {
        // skip loop if the property is from prototype
        if(!obj.hasOwnProperty(prop)) continue;

        // your code
        alert(prop + " = " + obj[prop]);
    }}


查看完整回答
反对 回复 2019-06-05
?
湖上湖

TA贡献2003条经验 获得超2个赞

在ECMAScript 5下,您可以将Object.keys()和Array.prototype.forEach():


var obj = {

  first: "John",

  last: "Doe"

};


//

// Visit non-inherited enumerable keys

//

Object.keys(obj).forEach(function(key) {


  console.log(key, obj[key]);


});

运行代码段


查看完整回答
反对 回复 2019-06-05
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

这个问题

for (var key in validation_messages) {
   var obj = validation_messages[key];
   for (var prop in obj) {
      alert(prop + " = " + obj[prop]);
   }}

您还将遍历原语对象的原型。

有了这个,你就会避开它:

for (var key in validation_messages) {
   if (validation_messages.hasOwnProperty(key)) {
      var obj = validation_messages[key];
      for (var prop in obj) {
         if (obj.hasOwnProperty(prop)) {
            alert(prop + " = " + obj[prop]);
         }
      }
   }}


查看完整回答
反对 回复 2019-06-05
  • 3 回答
  • 0 关注
  • 594 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号