0.9.3 • Published 8 years ago
underscore-keypath v0.9.3
underscore-keypath
key-path mechanism extensions for underscore (mixin).
underscore-keypath let you access JavaScript objects and arrays with keypath easily.
var foo = {
bar : {
name : "Cool!"
},
scores : [55, 27, 100, 33]
};
_(foo).valueForKeyPath("bar.name"); // --> "Cool!"
_(foo).setValueForKeyPath("bar.name", "BAR"); // --> sets foo.bar.name as "BAR"
_(foo).valueForKeyPath("scores.@max"); // --> 100
Install
NodeJS
$ npm install underscore-keypath
var _ = require("underscore-keypath");
or you may want to use origianl underscore:
var _ = require("underscore");
require("underscore-keypath"); // it will extend original underscore
in this case, please install "underscore" first.
$ npm install underscore
$ npm install underscore-keypath
Otherwise, underscore-keypath extends separated underscore in sandbox.
Meteor
$ meteor add jeeeyul:underscore-keypath
Front-end
$ bower install underscore-keypath
Or just download underscore-keypath.js manually.
Examples
var list = [{
name : "foo",
info : {
favoriteColor : "red",
age : 20
}
},{
name : "bar",
info : {
favoriteColor : "green",
age : 17
}
},{
name : "zar",
info : {
favoriteColor : "red",
age : 34
}
}];
_(list).pluckByKeyPath("info.age"); // --> [20, 17, 34]
_(list).sortByKeyPath("info.age"); // --> [{name:"bar", ..}, {name:"foo", ..}, {name:"zar", ..}]
_(list).groupByKeyPath("info.favoriteColor"); // --> {red:2, green:1}
See API Document
0.9.3
8 years ago
0.9.2
8 years ago
0.9.1
9 years ago
0.9.0
9 years ago
0.0.22
9 years ago
0.0.21
9 years ago
0.0.20
9 years ago
0.0.19
9 years ago
0.0.18
9 years ago
0.0.17
9 years ago
0.0.15
10 years ago
0.0.14
10 years ago
0.0.13
10 years ago
0.0.12
10 years ago
0.0.11
10 years ago
0.0.10
10 years ago
0.0.7
10 years ago
0.0.5
10 years ago
0.0.4
10 years ago
0.0.3
10 years ago
0.0.2
10 years ago