为什么在 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()?
我有一个函数 returns 每个从 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
]
要覆盖 maxArrayLength
指令,您可以使用:
console.dir(myArry, {'maxArrayLength': null});
我有一个函数 returns 每个从 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
]
要覆盖 maxArrayLength
指令,您可以使用:
console.dir(myArry, {'maxArrayLength': null});