通过字符串路径访问嵌套的JavaScript对象和Aray

通过字符串路径访问嵌套的JavaScript对象和Aray,第1张

通过字符串路径访问嵌套的JavaScript对象和Aray

我只是根据已经拥有的一些类似代码制作的,它似乎可以工作:

Object.byString = function(o, s) {    s = s.replace(/[(w+)]/g, '.'); // convert indexes to properties    s = s.replace(/^./, '');// strip a leading dot    var a = s.split('.');    for (var i = 0, n = a.length; i < n; ++i) {        var k = a[i];        if (k in o) { o = o[k];        } else { return;        }    }    return o;}

用法::

Object.byString(someObj, 'part3[0].name');

编辑一些人已经注意到,如果传递的字符串最左边的索引与对象内正确嵌套的条目不对应,则此代码将引发错误。这是一个有效的问题,但是IMHO最好try / catch在调用时使用块来解决,而不是让此函数静默返回undefined无效索引。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4926098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存