我有一个 JSON 数组,其一般结构如下:
var json = [
{ key: 'firstName', value: 'Bill' },
{ key: 'lastName', value: 'Mans' },
{ key: 'phone', value: '123.456.7890' }
];
实际上,会有更多的键/值对。不管怎样,我试图使用键值对这个数组进行排序Lodash。目前,我正在尝试以下操作:
_.map(_.sortBy(json, key), _.values);
但是,这会导致错误:
[ReferenceError: key is not defined]
我怀疑它是因为密钥没有用引号引起来,如图所示docs。不幸的是,我实际上无法控制 json 的格式。事实上,它被其他开发人员使用,而我是最后一个使用它的人。有没有办法让我使用 lodash 按键名称对 json 数组进行排序?如果是这样,怎么办?
谢谢
仅在调用时才需要将密钥放在引号中sortBy
。它不必在数据本身中用引号引起来。
_.sortBy(json, "key")
另外,你的第二个参数map
是错的。它应该是一个函数,但是使用pluck
更容易。
_.pluck( _.sortBy(json, "key") , "value");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)