当前位置: 首页 > 知识库问答 >
问题:

为什么在JavaScript中显示上限为100的数组元素,有没有一种方法可以在没有循环或剪接()的情况下显示所有元素?[重复]

容修贤
2023-03-14

我有一个函数,它以数组的形式返回从2到1000的每个素数。

/**
 * This function returns the array of all the prime numbers from 2 to 1000.
 * 
 * @returns {number[]} results
 */
function listPrimeNumbers() {
    var results = []; var j = 0;
    for(var num = 2; num <= 1000; num++) {
        var prime = true;
        for(var i = 2; i <= num / 2; i++) {
            if(num % i == 0) {
                prime = false;
                break;
            }
        }
        if(prime){
            results[j] = num;
            j++;
        } 
    }
    return results;
}

我想在屏幕上显示它的所有内容:

console.log(listPrimeNumbers());

这是我得到的输出:

[
    2,   3,   5,   7,  11,  13,  17,  19,  23,  29,  31,  37,
   41,  43,  47,  53,  59,  61,  67,  71,  73,  79,  83,  89,
   97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
  157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223,
  227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281,
  283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359,
  367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433,
  439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
  509, 521, 523, 541,
  ... 68 more items
]

它只显示100个元素,然后它说数组中还有68个项目,但不显示其余的。为什么会这样?为何以100为上限?有没有一种方法可以显示整个数组,而不使用循环或拼接()方法?方法可以完成这项工作,但它的输出并不是我想要的...

console.log(listPrimeNumbers().slice(0,100)); 
console.log(listPrimeNumbers().slice(100));

输出看起来像这样,我不喜欢分割数组:

[
    2,   3,   5,   7,  11,  13,  17,  19,  23,  29,  31,  37,
   41,  43,  47,  53,  59,  61,  67,  71,  73,  79,  83,  89,
   97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
  157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223,
  227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281,
  283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359,
  367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433,
  439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
  509, 521, 523, 541
]
[
  547, 557, 563, 569, 571, 577, 587, 593, 599,
  601, 607, 613, 617, 619, 631, 641, 643, 647,
  653, 659, 661, 673, 677, 683, 691, 701, 709,
  719, 727, 733, 739, 743, 751, 757, 761, 769,
  773, 787, 797, 809, 811, 821, 823, 827, 829,
  839, 853, 857, 859, 863, 877, 881, 883, 887,
  907, 911, 919, 929, 937, 941, 947, 953, 967,
  971, 977, 983, 991, 997
]

共有1个答案

岳良策
2023-03-14

要覆盖maxArrayLength指令,可以使用:

console.dir(myArry, {'maxArrayLength': null});
 类似资料:
  • 我不确定以下问题是否适用于jaxb,但我还是会问。 在某个项目中,我们使用带有定义模式的jaxb来创建xml文件的下一个结构。 我们还使用jaxb的自动类生成来创建类:aaa和bbb,其中aaa生成为@XmlRootElement。 我们现在希望在新项目中使用相同的模式,该模式也将与以前的项目兼容。我想做的是使用相同的jaxb生成的类,而不需要对模式进行任何更改,以便仅将单个bbb对象封送到xml

  • 我对测试非常陌生,试图更好地理解到底发生了什么。我发现我们的一些测试代码失败时,css选择器元素有一个waitUntilCanInteract或waitUntilDisplay附加到它,即使当我做一个铬检查元素显示在浏览器中。把它们改成等待直到存在让它们到达一个转折点,所以我想知道到底是什么造成了这种情况?

  • 在Borland VCL库中,几乎所有控件都有提示属性。在运行时,当您将鼠标放在相应的控件上时,当您移动鼠标时,一个带有提示文本的小框会弹出并再次消失,例如Windows资源管理器和其他程序中的帮助消息,当鼠标光标放在按钮上时。 JavaFX中是否有类似的概念(实际上,我使用的是ScalaFX)? 当然,我可以创建一个没有装饰的新舞台,添加一些鼠标监听器等,但是它不是已经在某个地方可用了吗?

  • 显示所有指定的元素。 使用展开运算符 (...) 和 Array.forEach() 来清除每个指定元素的 display 属性。 const show = (...el) => [...el].forEach(e => (e.style.display = '')); show(...document.querySelectorAll('img')); // Shows all <img> e

  • 问题内容: 似乎Chrome / Firefox无法在其上显示边框,但是如果选择器为,则可以渲染边框。 如何在tr上设置边框? 我的尝试不起作用: http://jsfiddle.net/edi9999/VzPN2/ 这是一个类似的问题:将边框设置为表tr,除IE 6和7外,其他所有功能都可以使用 ,但除IE之外,其他任何地方都可以使用。 问题答案: 将此添加到样式表: 在规范中实际上很好地描述了

  • 假设我有一个由n个字符串列表组成的列表: result->包含所有输出列表(所有组合) current->是当前的组合 用上述相同示例调用此函数时的输出: