I tried to make it by myself, but I don't know if this is possible
function smth(){
  var temp = [];
  for(var i = arguments.length -1; i > 2; i-=1){
    var temp2 = [];
    temp.push(arguments[i]);
    temp2.push(temp);
    temp = temp2;
    console.log(temp);
  }
  // I need to get array in this form 
  var something = item['collections']['0']['name'];
}
smth('collection','0','name');
edit:
Okay, maybe I haven't given you enough information.
I've got a JSON object, and I'm making a filter function, and I'd like to make it more reusable because now I have hard-coded item.collections[0].name,
and sometimes I need use item.parameters.name, and I will use it few a more times
$scope.$watch(name, function (newValue, oldValue) {
  if (newValue !== oldValue) {
    $scope.productsChucks = myFilter(array, function(item) {
      //console.log(item['collections']['0']['name']);
      if (item.collections[0].name == $scope[compareWith]) {
        return item;
      }
    });
  }
});
 
     
     
     
    