1

我有对象

dataSourceConfig.transport.read.url

remoteDataSourceConfig: { 
transport: {
        read: {
            url: null, 
        },
    },
},

如何检查dataSourceConfig.transport.read.url未定义?

4

1 回答 1

4

如果我正确理解您的问题,您必须检查所有中间对象是否存在:

if (dataSourceConfig &&
    dataSourceConfig.transport &&
    dataSourceConfig.transport.read &&
    dataSourceConfig.transport.read.url != null
) {
  // is not null or undefined
}

否则,您可以执行以下操作:

function isKeySet(obj, key) {
  var keys = key.split('.');
  return keys.reduce(function(o,k){ return o[k]; }, obj) != null;
}

isKeySet(dataSourceConfig, 'transport.read.url'); // false
于 2013-06-14T05:28:16.690 回答