如何在Javascript中更改第一个数组JSON数据?



嗨,我正在使用onChange事件更改json数据。数组数据的第一个元素没有被改变&其他json数据正在被更改。我们如何改变第一个数据呢?下面是我的代码-

const onChange = (
selectType: string,
selectedValue: string,
selectedId: number
): void => {

const arrayData = arrayData1 // where arrayData1 is state

// get question data to to make the changes
const myQues = arrayData.find(
(ques) => ques.quesId=== selectedId
);
if (myQues) {
switch (selectType) {
case Enum.DEMO_VALUE:
myQues.answerList.map((answer) => {
if(typeof selectedValue === 'string' && 
parseInt(selectedValue) <= answer.high  && parseInt(selectedValue) >= answer.low) {
answer.value1 = selectedValue;
answer.value2 = selectedValue;
answer.answered = true
} else {
answer.value1 = null;
answer.value2 = null;
answer.answered = false
}
});

break;
}
}
setMyArrayData([...arrayData]);

};

,

answerList = [{
value1 : null,
value2 : null,
answered : false,
low : 0,
high : 9
},
{
value1 : 12,
value2 : 12,
answered : true,
low : 10,
high : 19
}
{
value1 : null,
value2 : null,
answered : false,
low : 20,
high : 300
}]

默认应答为12。当我将值从12更改为1时,它应该转到answerList[0],其余两个应该为空,answered应该为假,它也工作得很好。但是当我再次将值从1更改为15时,它应该会变为answerList[1]answerList[0]&answerList[2]应该是null和answered假,但它不能正常工作。answerList[0]&answerList[1]是一样的。再次,当我将值从15更改为151,然后更改为answerList[0]&answerList[2]是相同的,而answerList[1]得到很好。简而言之,answerList[0]在任何情况下都不会改变,而answerList[1]&answerList[2]正在改变。为什么呢?我们如何解决这个问题?

answerlist[0]["value"] = 1; 
先生,试试这个基本上,您希望访问json数组中的第一个元素,然后在该对象中更改value属性。

这里有更多的信息:我如何访问和处理嵌套的对象、数组或JSON?

相关内容

最新更新