Object.keys(obj).length 返回字符总和而不是记录总数
Object.keys(obj).length returning sum of characters not total count of records
我正在尝试计算返回的与用户输入的记录关联的记录总数。最后,我需要指定一个 if/else 语句行列式,以确定是否返回多个记录。
示例 1:
用户输入记录 #123456789程序显示与该记录关联的记录 #223456789 和 #333456789将出现一个信息窗口,其中链接已激活以显示关联的记录
示例 2:用户输入记录 #000006789程序显示未关联记录将出现一个信息窗口,其中没有显示关联记录的链接
当前,即使没有关联任何记录,该链接仍会显示。
以前(当计数不是问题;只有输入的存在时)具有关联记录的记录的设置是:
其中,compacct 是与用户输入记录关联的记录列表
else if ("<%=compacct(0) %>" != ""){
var salecontent = "";
var content = "<b>Account Number</b>: " + "<%=number %> "+
"<center><br><b>Comparable Sales</b></center>";
content = content + salecontent +
"<br><br>" + "<a class='infolink' href='"javascript:void(0)'" onclick='"javascript:getallcommsale(saleaccts)'">Show all Comparable Sales</a>" +
"<br>" + "<img src='"./appFiles/graphics/question3.jpg'" onmouseover='"this.src='./appFiles/graphics/comp_sales.png';'" onmouseout='"this.src='./appFiles/graphics/question3.jpg';'"/>" ;
我现在修改了另一部分中的代码,以便可以输入所有帐户,而不仅仅是具有相关记录的帐户。副作用是,现在 compacct 检索用户输入的记录,而不仅仅是关联的记录。所以我现在需要检查 compacct 的记录计数是否大于 1。我试过:
var sale = "<%=compacct(0) %>";
var saleCount = Object.keys(sale).length;
if (saleCount > 1){
检索的长度是帐户中数字的总和,而不是帐户总数
我也尝试过:
var sale = "<%=salesstrap(0) %>";
for (i = 1; i>saleCount.length; i++){
但会出现同样的问题
sale
是代码示例中的String
。 对字符串调用Object.keys()
会将字符串视为字符数组,并为您提供对该数组有效的索引。即:
Object.keys("abc")
将返回数组:
["0", "1", "2"]
此数组的长度将是字符串的长度。
我不确定你如何期望sale
是字符串以外的任何东西。
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 在JavaScript中输出转义字符
- 不同浏览器中的空白字符正则表达式行为
- Regex匹配除“”之外的所有字符;.js”;
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- AngularJs对所有页面中的所有记录进行排序
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- window.location替换并传递URL历史记录条目中的变量
- 使用RegExp查找url中的字符
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Javascript历史记录转换为php行
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 允许在文本框中使用某些字符
- 根据页面的位置突出显示文本中的字符
- 元素的内容必须由格式正确的字符数据或标记组成
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 猫鼬在特定记录中查找嵌套记录
- Object.keys(obj).length 返回字符总和而不是记录总数
- 在试图将事件记录到flush中时,javascript中出现了非法字符语法错误
- Json 遍历记录字符,而不是键值