javascript - 在 netSuite 中提取字段值时键值对出现问题
问题描述
好的,我正在尝试调试一件非常烦人的事情。所以,我有一个迭代很多项目的函数,我在处理一些项目时遇到了问题。
这是我遇到问题的一个项目的例子。我创建了一个键值对,其中包含:
var KeyValueobj = {
"Stainless steel plate EN 1.4301 0-3mm >2000mm wide": recordSetPricesItemObj.custrecordss_p_1403_03b2000w,
"Stainless steel plate EN 1.4301 0-3mm <2000mm wide": recordSetPricesItemObj.custrecordss_p_1403_03s2000w,
"Stainless steel plate EN 1.4301 0-3mm =2000mm wide": recordSetPricesItemObj.custrecordss_p_1403_03e2000w,
"Stainless steel plate EN 1.4301 4-12mm >2000mm wide": recordSetPricesItemObj.custrecordss_p_1403_412b2000w,
"Stainless steel plate EN 1.4301 4-12mm <2000mm wide": recordSetPricesItemObj.custrecordss_p_1403_412s2000w,
"Stainless steel plate EN 1.4301 4-12mm =2000mm wide": recordSetPricesItemObj.custrecordss_p_1403_412e2000w,
"Stainless steel plate EN 1.4301 >15mm >2000mm wide": recordSetPricesItemObj.custrecordss_p_1403_15b2000w,
"Stainless steel plate EN 1.4301 >15mm <2000mm wide": recordSetPricesItemObj.custrecordss_p_1403_15s2000w,
"Stainless steel plate EN 1.4301 >15mm =2000mm wide": recordSetPricesItemObj.custrecordss_p_1403_15e2000w,
"Stainless steel plate EN 1.4401 >15mm >2000mm wide": recordSetPricesItemObj.custrecordss_p_14401_15b2000w,
"Stainless steel plate EN 1.4401 >15mm <2000mm wide": recordSetPricesItemObj.custrecordss_p_14401_15s2000w,
"Stainless steel plate EN 1.4401 >15mm =2000mm wide": recordSetPricesItemObj.custrecordss_p_14401_15e2000w,
"Stainless steel plate EN 1.4401 0-3mm >2000mm wide": recordSetPricesItemObj.custrecordss_p_14401_03b2000w,
"Stainless steel plate EN 1.4401 0-3mm <2000mm wide": recordSetPricesItemObj.custrecordss_p_14401_03s2000w,
"Stainless steel plate EN 1.4401 0-3mm =2000mm wide": recordSetPricesItemObj.custrecordss_p_14401_03e2000w,
"Stainless steel plate EN 1.4401 4-12mm >2000mm wide": recordSetPricesItemObj.custrecordss_p_14401_412b2000w,
"Stainless steel plate EN 1.4401 4-12mm <2000mm wide": recordSetPricesItemObj.custrecordss_p_14401_412s2000w,
"Stainless steel plate EN 1.4401 4-12mm =2000mm wide": recordSetPricesItemObj.custrecordss_p_14401_412e2000w,
}; 我在 NetSuite 中搜索记录的字段,然后获取它们的值,然后将这些值与正确的字段名称配对。
我创建了这个测试:
if (bomItem.displayname == "Stainless steel plate 1.4301/1.4307 t=10 EN 10088") {
log.debug("CHECK1 : " + bomItem.custitem12)
log.debug("CHECK2 : " + parseFloat(KeyValueobj["Stainless steel plate EN 1.4301 4-12mm >2000mm wide"]).toFixed(2))
log.debug("CHECK3 : " + parseFloat(KeyValueobj[bomItem.custitem12]).toFixed(2))
log.debug(bomItem.custitem12 == "Stainless steel plate EN 1.4301 4-12mm >2000mm wide")
}
Results:
check1 = "Stainless steel plate EN 1.4301 4-12mm >2000mm wide"
check2 = 26
check3 = NaN
check = false
这在我看来毫无意义,为什么当我比较 2 个相同的字符串时它们不相等?
我试图检查空格或使用正则表达式进行测试并删除所有空格然后进行比较并且仍然 == false..
我也试过这个:
log.debug("CHECK6 : " + parseFloat(KeyValueobj[bomItem["custitem12"]]).toFixed(2));
我在这些显示名称上遇到了这个错误。有人可以帮忙吗?
我尝试过使用 toString()、Stringify(),用正则表达式删除所有空格,尝试使用 normalize,也尝试使用 unescape()
解决方案
推荐阅读
- rust - 如何将带有顶层表的 TOML 文件解析为 Rust 结构?
- java - Java Streams:扩展内置收集器
- c# - 返回到 UWP XAML 页面 ContentDialog.RunAsync() 后导致“值不在预期范围内。”
- c - Linux 内核如何设置 PCI BAR 以保证没有地址冲突?
- unity3d - Unity - 如何通过相机移动放大和缩小?
- asp.net - 计数器变量在 Asp.net 网络表单中不起作用?
- python - 修复数据框中超出 CSV 字段长度的额外字段
- node.js - 如何从 bot 内部向 Microsoft bot 发送消息,以便消息通过对话流并获得相应的响应?
- sql - SQL Server 递归笛卡尔
- r - 使用 IF、THEN 和随机值创建创建新变量