javascript - Object.keys(obj).length 返回字符总和而不是记录总数

标签 javascript arrays count

我正在尝试计算与用户输入的记录关联的返回记录总数。最后,我需要指定一个 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 是字符串以外的任何内容。

关于javascript - Object.keys(obj).length 返回字符总和而不是记录总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35944339/

相关文章:

python - 意外输出 : Count number of times value appears in nested list & insert it back into list

php - mysql加入: get parts with count for each type

java - CodingBat 帮助计算数组中的元素

arrays - Fortran 算法如何使用这些数组?

javascript - window.open 在字符串内不起作用

javascript - 在 Angular 2 的 html 中添加静态类和变量类的更简洁的方法

arrays - 绕过字符串数组作为参数并在 PostgreSQL 中使用动态查询

javascript - 单击时计数未更新

javascript - 寻找一行类型转换 Number(oldValue) += 1;在JS中

javascript - 在 javascript 中更改 outerHTML