为啥在 JavaScript 中显示数组元素的上限为 100,有没有办法在没有循环或 splice() 的情况下显示所有内容? [复制]

Posted

技术标签:

【中文标题】为啥在 JavaScript 中显示数组元素的上限为 100,有没有办法在没有循环或 splice() 的情况下显示所有内容? [复制]【英文标题】:Why displaying array elements capped at 100 in JavaScript and is there a way to display everything without a loop or splice()? [duplicate]为什么在 JavaScript 中显示数组元素的上限为 100,有没有办法在没有循环或 splice() 的情况下显示所有内容? [复制] 【发布时间】:2021-12-17 09:19:46 【问题描述】:

我有一个函数可以将 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?有没有一种方法可以在不使用循环或splice() 方法的情况下显示整个数组? splice() 方法可以完成这项工作,但它的输出并不是我真正想要的......

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
]

【问题讨论】:

如果附上devtools,可以展开剩下的项目。 【参考方案1】:

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

console.dir(myArry, 'maxArrayLength': null);

【讨论】:

以上是关于为啥在 JavaScript 中显示数组元素的上限为 100,有没有办法在没有循环或 splice() 的情况下显示所有内容? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

javascript数组操作(创建元素删除数组的拷贝)

Javascript:当元素存在于数组中时,为啥 indexOf 函数返回 -1?

JavaScript-数组及数组元素操作

如何通过C ++中的数据获得向量的索引

在javascript中显示数组中的前一个元素

为啥这个指针显示最后一个元素?