【发布时间】:2014-09-01 09:07:45
【问题描述】:
我是 JavaScript 的新手,我想更新数组中的元素。我在这里尝试了这段代码。
var N = 2;
var Range = 64;
var array = [[0,100], [(Range),100]];
变量^^
$('#button2').click(function() {
array.push([(Range/N),100]);
array.sort();
chart.series[0].setData(array);
N=N+1;
for (var i = 0; i < array.length; i++) {
array[i] = [(((i+1)*Range)/N), 100];
array.sort();
chart.series[0].setData(array);
i = i+1;
alert(array);
}
});
但由于某种原因,元素没有正确更新,我明白了:
[10:33:48.782] [{x:64, y:100}, {x:64, y:100}, {x:64, y:100}]
[10:33:50.053] [{x:48, y:100}, {x:48, y:100}, {x:48, y:100}, {x:64, y:100}]
[10:33:52.994] [{x:64, y:100}, {x:64, y:100}, {x:64, y:100}, {x:64, y:100}, {x:64, y:100}]
[10:33:55.588] [{x:53.333333333333336, y:100}, {x:53.333333333333336, y:100}, {x:53.333333333333336, y:100}, {x:53.333333333333336, y:100}, {x:53.333333333333336, y:100}, {x:64, y:100}]
[10:33:57.721] [{x:64, y:100}, {x:64, y:100}, {x:64, y:100}, {x:64, y:100}, {x:64, y:100}, {x:64, y:100}, {x:64, y:100}]
[10:33:59.298] [{x:56, y:100}, {x:56, y:100}, {x:56, y:100}, {x:56, y:100}, {x:56, y:100}, {x:56, y:100}, {x:56, y:100}, {x:64, y:100}]
发生了什么事?
【问题讨论】:
-
尝试使用
console.log而不是alert并在控制台中查看结果。 -
为什么每一步都对
array进行排序? -
@ROX 好的谢谢你我会试试的:)
-
@raina77ow 最初它只是一个添加元素功能,但我决定在添加新元素时更改元素的值,并且懒得删除其他 array.sort() xD
-
alert(var_dump(array));试试这个
标签: javascript jquery arrays highcharts