js循环中的list[i].orgName的变量会区分大小写吗?如果list中的属性名为orgname,还会显示吗?
时间: 2024-03-29 09:34:50 浏览: 14
在JavaScript中,对象的属性名是区分大小写的。因此,如果list中的属性名为orgname,那么list[i].orgName将会返回undefined,因为orgName与orgname不一致。
可以通过对象的[]运算符来访问属性,这种方式不区分大小写。例如,可以使用list[i]['orgname']来访问list中的orgname属性,不管它是orgname还是orgName都可以访问到。
但是,建议在对象属性名上保持一致的大小写风格,以避免出现混淆和错误。
相关问题
select b.name,b.nature,b.orgName from base_e_route_basesection b 改写SQL如果b.nature等于 还贷性路段 ,则不查询b.name,以b.orgName分组,否则以b.name分组查询
以下是改写后的 SQL 语句:
```
SELECT
CASE WHEN b.nature = '还贷性路段' THEN NULL ELSE b.name END AS name,
b.nature,
b.orgName
FROM
base_e_route_basesection b
GROUP BY
CASE WHEN b.nature = '还贷性路段' THEN b.orgName ELSE b.name END,
b.nature,
b.orgName
```
如果 `b.nature` 等于 '还贷性路段',则将 `b.name` 赋值为 `NULL`,否则保留原值。然后根据不同情况分别进行分组,以实现查询需求。
baseData.value.orgName = ruleDetailList.value.forEach((it:any) =>{ console.log(it,options.val) if(it.udf3 === options.val) { console.log(it.udf11) return it.udf11 } })
这段代码的问题在于,`Array.forEach()` 方法返回值永远为 `undefined`,因此你无法将其赋值给 `baseData.value.orgName` 属性。因此,代码中的赋值语句实际上是将 `baseData.value.orgName` 赋值为 `undefined`。
如果你想在遍历 `ruleDetailList.value` 数组时查找 `udf3` 属性等于 `options.val` 的元素,并将其 `udf11` 属性的值赋给 `baseData.value.orgName` 属性,可以考虑使用 `Array.find()` 方法来实现:
```
const found = ruleDetailList.value.find(it => it.udf3 === options.val);
if (found) {
baseData.value.orgName = found.udf11;
} else {
baseData.value.orgName = '';
}
```
这段代码首先使用 `Array.find()` 方法查找 `ruleDetailList.value` 数组中第一个满足条件的元素,并将其赋值给 `found` 变量。如果找到了满足条件的元素,就将其 `udf11` 属性的值赋给 `baseData.value.orgName` 属性,否则将 `baseData.value.orgName` 赋值为空字符串。