我要将数组中的一些数据添加到angularjs中的$http
服务中。我将它们添加到服务的方式如下所述(并且它可以正常工作)
var inputValueArray = new Array($scope.formdata);
我可以在我的api中按索引零获取数据。但我希望通过命名索引。所以,我这样做:
var inputValueArray = new Array();
inputValueArray["myIndex"] = $scope.formData;
但是,在api中我得到空数组。然后我做了这个解决方案:
var inputValueArray = {"myIndex" : $scope.formData};
现在我收到Maximum call stack size exceeded
错误。在两者中,我使用$_POST
来获取数据。我的意思是我通过 $。param()发送数据:
data: $.param({ mydata:inputValueArray , csrf_token: myTokenKey})
任何想法都会受到高度赞赏。
答案 0 :(得分:0)
根据ECMAScript 2015(ES6)标准,javascript有一个Map实现。
示例:
var myMap = new Map();
var keyString = "a string",
keyObj = {},
keyFunc = function () {};
// setting the values
myMap.set(keyString, "value associated with 'a string'");
myMap.set(keyObj, "value associated with keyObj");
myMap.set(keyFunc, "value associated with keyFunc");
myMap.size; // 3
// getting the values
myMap.get(keyString); // "value associated with 'a string'"
myMap.get(keyObj); // "value associated with keyObj"
myMap.get(keyFunc); // "value associated with keyFunc"
myMap.get("a string"); // "value associated with 'a string'"
// because keyString === 'a string'
myMap.get({}); // undefined, because keyObj !== {}
myMap.get(function() {}) // undefined, because keyFunc !== function () {}