我需要设置此数组中每个项目的值,计数。
所以,例如,path [0] .value = 1,path [1] .value = 2等......
编辑:我正在寻找最有效的方法。我认为for循环是最好的方法,但我想学习其他方法。可以使用map()方法或forEach()吗?那个......在声明中怎么样?我想用纯JS来做这件事,但如果你能用jQuery教我一个更好的方法,我也有兴趣了解它。
提前致谢。
function Cell(x,y){
this.xCoordinate = x;
this.yCoordinate = y;
this.value;
}
var path = [new Cell(0,0), new Cell(0,1), new Cell(0,2)];

答案 0 :(得分:1)
您可以使用for
循环或forEach
:
for(var i=0; i<path.length; ++i)
path[i].value = i+1;
path.forEach(function(cell, i) {
cell.value = i + 1;
});
由于Why is using “for…in” with array iteration such a bad idea?,最好避免使用for...in
。
答案 1 :(得分:0)
如果您有现有数组,则可以使用map。
var path = [0,1,2].map( x => new Cell(0, x))
或改变
path = path.map( x => {
x.value = x.yCoordinate - 1
return x
})
答案 2 :(得分:0)
一个简单的for循环应该有效:
app.controller("HttpGetController", function ($scope, $http) {
$scope.SendData = function () {
var data = { num1: $scope.num1, num2: $scope.num2 };
$http.post('https://httpbin.org/post', data)
.then(function (response) {
$scope.PostDataResponse = response.data.data;
})
}
});
答案 3 :(得分:0)
<html>
<body>
<p id="demo"></p>
<script>
function Cell(x,y){
this.xCoordinate = x;
this.yCoordinate = y;
this.value;
}
function setValues(element, index, array){
array[index].value = index+1;
}
var path = [new Cell(0,0), new Cell(0,1), new Cell(0,2)];
path.forEach(setValues);
document.getElementById("demo").innerHTML = path[2].value;
</script>
</body>
</html>