相关疑难解决方法(0)

如何使用另一个数组扩展现有JavaScript数组,而无需创建新数组

似乎没有办法用另一个数组扩展现有的JavaScript数组,即模拟Python的extend方法.

我想实现以下目标:

>>> a = [1, 2]
[1, 2]
>>> b = [3, 4, 5]
[3, 4, 5]
>>> SOMETHING HERE
>>> a
[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

我知道有一种a.concat(b)方法,但它创建了一个新的数组,而不是简单地扩展第一个.我想要一种算法,当a它明显大于b(即不复制的算法)时,它可以有效地工作a.

注意:不是如何将某些内容附加到数组的副本 - 这里的目标是将一个数组的全部内容添加到另一个数组中,并"就地"执行,即不复制扩展数组的所有元素.

javascript arrays concatenation

899
推荐指数
11
解决办法
51万
查看次数

我怎样才能找到JavaScript数组中包含的最大数字?

我有一个包含几个数字的简单JavaScript Array对象.

[267, 306, 108]
Run Code Online (Sandbox Code Playgroud)

是否有一个函数可以找到这个数组中最大的数字?

javascript arrays algorithm max

201
推荐指数
13
解决办法
22万
查看次数

在javascript中将数组拼接成数组的更好方法

有没有比这更好的方法将数组拼接到javascript中的另一个数组中

var string = 'theArray.splice('+start+', '+number+',"'+newItemsArray.join('","')+'");';
eval(string);
Run Code Online (Sandbox Code Playgroud)

javascript arrays

62
推荐指数
4
解决办法
5万
查看次数

JavaScript内存限制

JavaScript应用程序可以存储最大数量的数据吗?

我想这是由浏览器处理的,每个都有其局限性?

如果没有限制,是否会创建页面文件?如果是这样,那不是不安全吗?

javascript browser memory

55
推荐指数
4
解决办法
3万
查看次数

JavaScript函数中的无限参数

JavaScript函数可以采用无限制的参数吗?像这样的东西:

testArray(1, 2, 3, 4, 5...);
Run Code Online (Sandbox Code Playgroud)

我在尝试:

var arr = [];
function testArray(A) {
    arr.push(A);
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用(输出只是第一个参数).或唯一的方法是:

function testArray(a, b, c, d, e...) {

}
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript arrays function

41
推荐指数
3
解决办法
2万
查看次数

javascript变量有存储限制吗?

javascript变量是否有存储容量限制?

我正在设计一个YUI数据表,我从数据库中获取数据并将其存储在js对象中,无论何时需要,我将提取它并更新YUI数据表.现在在Dev我很少有记录和正确存储.在生产中我可能有1000个记录,这个js对象能够存储所有这1000个记录吗?

如果它没有能力我将在jsp中创建隐藏的textarea并将数据存储在那里

javascript variables yui yui-datatable

13
推荐指数
2
解决办法
1万
查看次数

使用正则表达式重命名对象数组的键

我有一个对象数组.每个对象都有很多键(超过100个),其中一些键可以有我想删除的特殊字符.

我试着用这种方式做我想做的事:

const result = data.map(datum => {
  const keys = Object.keys(datum)
  const replacedKeys = keys.map(key => {
    const newKey = key.replace(/[.|&;$%@%"<>+]/g, '')
  })
  // ??
})
Run Code Online (Sandbox Code Playgroud)

但我确信这不是正确的方式..

javascript regex

11
推荐指数
1
解决办法
234
查看次数

JavaScript中有多少参数太多?

我在StackOverflow上遇到了以下问题:有多少参数太多了?

这让我想到,JS函数的参数数量是否存在实际限制?

test(65536); // okay
test(65537); // too many

function test(n) {
    try {
        new Function(args(n), "return 42");
        alert(n + " parameters are okay.");
    } catch (e) {
        console.log(e);
        alert(n + " parameters are too many.");
    }
}

function args(n) {
    var result = new Array(n);
    for (var i = 0; i < n; i++)
        result[i] = "x" + i;
    return result.join(",");
}
Run Code Online (Sandbox Code Playgroud)

事实证明,JavaScript在函数上强加了65536个参数的实际限制.

但是,有趣的是错误消息说限制是65535参数:

SyntaxError: Too many parameters in function definition (only 65535 allowed)
Run Code Online (Sandbox Code Playgroud)

所以,我有两个问题:

  1. 为什么会出现这种差异?这是语言实现中的一个错误吗?
  2. ECMAScript标准是否对功能参数施加了此限制?

javascript parameters standards ecmascript-5 ecmascript-6

5
推荐指数
1
解决办法
759
查看次数

RangeError:array.push(...) 超出了最大调用堆栈大小

下面的简单代码产生 RangeError: Maximum call stack size exceeded

const arr = []
for (let i = 0; i < 135000; i++) {
    arr.push(i)
}
const arr2 = []
// something else here that changes arr2
arr2.push(...arr)
Run Code Online (Sandbox Code Playgroud)

1)为什么会发生这种情况?(我只是将元素添加到数组中,为什么会增加堆栈大小?)

2)如何解决这个错误?(我的目标是将 arr 的浅拷贝创建到 arr2 中)

javascript

5
推荐指数
1
解决办法
1092
查看次数

当没有参数时,将参数推入数组有什么意义?

bootstrap-datepicker库:

    // .....
    return function(){
        var a = [];
        a.push.apply(a, arguments);
        $.extend(a, extras);
        return a;
    };
Run Code Online (Sandbox Code Playgroud)

当没有参数时,将参数推入数组有什么意义?

javascript

2
推荐指数
1
解决办法
42
查看次数