- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个来自数据库的对象数组,为了简洁起见,我想将其折叠。我已导入 underscore.js 来帮助完成此过程,但尝试使用提供的“groupBy”函数来压缩以下列表未成功:
[
{ID:2570,name:"jim",latitude:59.4,longitude:-7.29},
{ID:2573,name:"joe",latitude:54.4,longitude:-7.36},
{ID:2573,name:"joe",latitude:54.3,longitude:-7.37},
{ID:2574,name:"bob",latitude:58.4,longitude:-7.31},
{ID:2574,name:"bob",latitude:58.6,longitude:-7.38},
{ID:2574,name:"bob",latitude:58.8,longitude:-7.39},
{ID:2575,name:"mary",latitude:54.1,longitude:-7.30},
]
格式:
[
{ID:2570, name:"jim", locs : [[59.4,-7.29]]},
{ID:2573, name:"joe", locs : [[54.4,-7.36], [54.3,-7.37]]} //etc...
]
最佳答案
按照您的直觉使用_.groupBy
,
var data = [
{ID:2570,name:"jim",latitude:59.4,longitude:-7.29},
{ID:2573,name:"joe",latitude:54.4,longitude:-7.36},
{ID:2573,name:"joe",latitude:54.3,longitude:-7.37},
{ID:2574,name:"bob",latitude:58.4,longitude:-7.31},
{ID:2574,name:"bob",latitude:58.6,longitude:-7.38},
{ID:2574,name:"bob",latitude:58.8,longitude:-7.39},
{ID:2575,name:"mary",latitude:54.1,longitude:-7.30},
];
var groups = _.groupBy(data, function(locationObject) { return locationObject.ID; });
var result = _.map(groups, function(group) {
var condensed = {ID: group[0].ID, name: group[0].name};
condensed.locs = _.map(group, function(row) {
return [row.latitude, row.longitude];
});
return condensed;
});
document.getElementById('log').innerHTML = JSON.stringify(result, null, ' ');
<script src="http://underscorejs.org/underscore-min.js"></script>
<pre id="log"></pre>
关于javascript - UnderscoreJS 对象组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26758191/
我有这个数组: var ty = [ { "Language": "en-GB", "Section": "Sales", "ItemName": "Typ
我有一个对象列表“objlist”和一个 id 列表“idlist”。 var objlist = [{id:1, visible:true},{id:2, visible:false},{id:3,
我想做一个面包屑。我从后端获取数据,如下所示: var object = { "Department": { "DeptCode": null, "Descri
我有一个带有 bool 值的对象,一旦该值为true,我想测试我的对象中是否存在与函数相同的值,如果存在,那么我想调用该函数。我只需使用 JavaScript 即可做到这一点。 但是我正在寻找使用 u
我有这样的数据: var dates = [ {date: "2000-01-01", total: 120}, {date: "2000-10-10", total: 100},
假设我有一个长度为N的数组myArray。我想循环第 N 次。在纯 JavaScript 中,这将是: for (var i = 0; i < myArray.length; i++) {} 有没有办
我有一个来自数据库的对象数组,为了简洁起见,我想将其折叠。我已导入 underscore.js 来帮助完成此过程,但尝试使用提供的“groupBy”函数来压缩以下列表未成功: [ {ID:25
我有如下所示的 JSON 数组: [{ 'a': 1, 'b': 10, 'aa': { 'a': 11, 'ab': 110 } }, { 'a': 2, 'b': 2
这是album.tracks.items的json内容 [{ "disc_number": 1, "duration_ms": 220613, "exp
我有两个数组,balances 和 commits balances = [ {name: 'vacation', value: ''21}, {name: 'account', value: '2
我有一个组对象: {groupid1: "metadata", groupid2: "metadata"} 还有一组用户: [ { name: "something", groups: [
第一次使用下划线,我卡住了,找不到例子。 我的数据是: [{ "store_name": "Store 1", "franchisee_id": "id01",
只是存在一个 underscoreJs 方法来将具有某些属性的对象转换为具有关键属性的对象集合吗? 我的意思是,如果 underscorejs 中存在一个等效于此的简单方法: function obj
我正在尝试使用下划线独特的功能,但无法让它工作,这是我的测试代码: var foo = [ { "a" : "1" }, { "b" : "2" }, { "a" : "1" } ]; _.uniqu
有没有办法将数字列表分组为带下划线的数字区间? // Input: var arr = [0,1,2,8]; var interval = 3; // Output: // There are 3 n
在 AngularJS Controller 中有以下内容: $scope.initiatives = _.where($scope.initiatives, {i_status_id:'Open'}
我试图简单地用空字符串替换无效日期。我正在迭代对象数组,但每当我尝试使用 _.each() 时,我都会迷路。如果有人可以向我展示一种迭代列表中所有 fieldsToCheck 项目的方法,那就太棒了。
我正在 Underscore.js 中寻找一种方法来查找数组中数字之间的两个数字。 数字不能是 20 或列表中的任何数字。 我有一个可以运行的 Javascript 版本 var data = [
基本上我想使用 Lo dash 或 Underscore(最好是 lo-dash),但是对于我的系统来说,重要的是我不要全局加载变量并匿名使用它们。如果我不能使用 anon,那么至少将当前版本保留在页
我有一个对象数组。我想groupby & filter(remove) undefined object 、类别。为了更清楚地说明,请参阅下面的脚本: arrayFlatten = [ {
我是一名优秀的程序员,十分优秀!