如何使用数组变量更新对象值?(JavaScript)

如何使用数组变量更新对象值?(JavaScript),javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我有一个存储条形图值的对象变量和一个更新这些值的按钮: var配置={ 类型:'bar', 数据:{ 数据集:[{ 类型:“栏”,标签:“数据集1”, 数据:[0,0,0,0,0,0,0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]}}; document.getElementById('add5')。addEventListener('click',function(){ tnow=moment().format('HH'); 开关(tnow){ 案例

我有一个存储条形图值的对象变量和一个更新这些值的按钮:

var配置={
类型:'bar',
数据:{
数据集:[{
类型:“栏”,标签:“数据集1”,
数据:[0,0,0,0,0,0,0,0,0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0]}]}};
document.getElementById('add5')。addEventListener('click',function(){
tnow=moment().format('HH');
开关(tnow){
案例'8':config.data.dataset[0]。数据[0]+=5;中断;
案例'9':config.data.dataset[0]。数据[1]+=5;中断;
// ...
案例'23':config.data.dataset[0]。数据[15]+=5;中断;
案例'24':config.data.dataset[0]。数据[16]+=5;中断;
默认值:警报('doot');}
window.myLine.update())
+5
使用
slice()时:

您正在复制
config.data.datasets[0].data
。然后在代码中更改该副本,但这对条形图没有影响,因为它不会更改原始数据:

let数据集=[{
数据:[1,2,3,4,5,6]
}]
设h=dataset[0]。data.slice()
h[0]=“什么?”
console.log(h)//h已更改
console.log(数据集[0].data)//原始数据不变
console.log(h==数据集[0].data)//因为使用
slice()时它们不是相同的数组

您正在复制
config.data.datasets[0].data
。然后在代码中更改该副本,但这对条形图没有影响,因为它不会更改原始数据:

let数据集=[{
数据:[1,2,3,4,5,6]
}]
设h=dataset[0]。data.slice()
h[0]=“什么?”
console.log(h)//h已更改
console.log(数据集[0].data)//原始数据不变

console.log(h==数据集[0].data)//因为它们不是相同的数组
数据表!=数据集
。这是一个有问题的输入错误还是问题的一部分?输入错误已更正。
datasheets!=数据集
。这是问题中的一个打字错误还是问题的一部分?打字错误-已更正。在使用切片方法之前,我尝试过这个方法,但没有成功-现在再次尝试,它成功了。Visual Studio一定是喝醉了。不管怎样,谢谢你的回复。我在使用切片方法之前就尝试了这个方法,但没有成功——现在再试一次,它就成功了。Visual Studio一定是喝醉了。不管怎样,谢谢你的回复。
var h = config.data.datasets[0].data.slice();