gpt4 book ai didi

javascript - 无法使用下面的代码在 for 循环中循环对象数组来获得正确的输出,它只采用最后一个条件

转载 作者:行者123 更新时间:2023-11-30 20:06:38 24 4
gpt4 key购买 nike

查看下面的代码了解更多详情

var A1  = ["1","2","5","6"];

var A2 = [
{label:"one", value:"1"},
{label:"two", value:"2"},
{label:"three", value:"3"},
{label:"four", value:"4"},
{label:"five", value:"5"},
{label:"six", value:"6"},
];
for(var i=0; i<A2.length; i++){
for(var j=0; j<A1.length; j++ ){
if(A1[i] == A2[j].value){
A2[ i ].disabled == true;
}
else{
A2[ i ].disabled == false;
}
}
}
console.log( JSON.stringify( A2 ) );

我想要以下输出:

[{"label":"one","value":"1","disabled":true}, 
{"label":"two","value":"2","disabled":true},
{"label":"three","value":"3","disabled":false},
{"label":"four","value":"4","disabled":false},
{"label":"five","value":"5","disabled":true},
{"label":"six","value":"6","disabled":true}]

最佳答案

您需要一个循环并检查值是否在 a2 中。然后将 disabled 设置为此 bool 值。

在问题中,您混淆了 ij 并且您为 a1 的任何值设置了一个值。结果或多或少是随机的。

顺便说一句,我将所有变量都改为以小写开头,因为在 Javascript 中通常以大写开头的变量是为可实例化的函数或类保留的。

var a1 = ["1", "2", "5", "6"],
a2 = [{ label: "one", value: "1" }, { label: "two", value: "2" }, { label: "three", value: "3" }, { label: "four", value: "4" }, { label: "five", value: "5" }, { label: "six", value: "6" }],
i;

for (i = 0; i < a2.length; i++) {
a2[i].disabled = a1.includes(a2[i].value);
}
console.log(a2);

带注释的代码。

var A1 = ["1", "2", "5", "6"];

var A2 = [
{ label: "one", value: "1" },
{ label: "two", value: "2" },
{ label: "three", value: "3" },
{ label: "four", value: "4" },
{ label: "five", value: "5" },
{ label: "six", value: "6" },
];
for (var i = 0; i < A2.length; i++) {
A2[i].disabled = false; // do not use a comparison, take an assignment
// set to false as default value
for (var j = 0; j < A1.length; j++) {
if (A1[j] == A2[i].value) { // i and j switched
A2[i].disabled = true; // same here with comparison where you need
// an assignment
}
}
}

console.log(JSON.stringify(A2));

关于javascript - 无法使用下面的代码在 for 循环中循环对象数组来获得正确的输出,它只采用最后一个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52855282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com