I would most likely build a prototype method for this, which makes the command easier to use.
// Place anywhere Object.prototype.cut = function(start, elements){ return this.items.splice(start, elements); } // Call using this favorites.favorites[1].cut(1,1);
This way you can extend methods and play with data in a very flexible way.
== EDIT ==
Perhaps it was flexible, as noted by Blue Skies. Updated example below. My style would be to add json favorites to the object literal and include the methods you need in the literal. This example consists of
- JSON data
- index based element cutting method
- method for getting index-based favorites
- method for returning a favorite based on the value of the name parameter
Excerpt
var favorites = { data: { "userID": "12345678", "favorites": [{ "name": "My Favorites", "id": "87654321", "items": [{ "productID": "11234567", "added": "TIMESTAMP", "title": "Project", "type": "Weekend Project", "imageURL": "1" }, { "productID": "11223456", "added": "TIMESTAMP", "title": "Bathroom", "type": "Weekend Project", "imageURL": "2" }, { "productID": "11223345", "added": "TIMESTAMP", "title": "Curves", "type": "Collections", "imageURL": "3" }] }, { "name": "Bathroom", "id": "87654323", "items": [{ "productID": "11122224", "added": "TIMESTAMP", "title": "Project", "type": "Weekend Project", "imageURL": "1" }, { "productID": "11122222", "added": "TIMESTAMP", "title": "Room", "type": "Weekend Project", "imageURL": "2" }, { "productID": "11112222", "added": "TIMESTAMP", "title": "Strais", "type": "Collections", "imageURL": "3" }, { "productID": "11111222", "added": "TIMESTAMP", "title": "Door", "type": "Collections", "imageURL": "4" }] }] }, cut: function(favorite, start, elements) { return this.data.favorites[favorite].items.splice(start, elements); }, get: function(favorite) { return this.data.favorites[favorite]; }, find: function(value, param) { var found; this.data.favorites.filter(function(item, i) { if (item[param] === value) { found = item; return; }; }) return found; } };
To use find, just do something like this
favorites.find("Bathroom", "name")