相关疑难解决方法(0)

如何在JavaScript中清空数组?

有没有办法清空数组,如果可能的话.remove()

例如,

A = [1,2,3,4];
Run Code Online (Sandbox Code Playgroud)

我该如何清空?

javascript arrays

2198
推荐指数
17
解决办法
243万
查看次数

从对象中删除所有属性

我有这个Javascript对象.

req.session
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我向此对象添加属性.这些属性可以是其他对象,数组或纯字符串.

req.session.savedDoc = someObject; 
req.session.errors = ['someThing', 'anotherThing', 'thirdThing'];
req.session.message = 'someString'
Run Code Online (Sandbox Code Playgroud)

如果我以后想要删除此对象的所有添加属性,最简单/最好的方法是什么?

必须有比这更好的方法吗?

// Delete all session values
delete req.session.savedDoc;
delete req.session.errors;
delete req.session.message;
Run Code Online (Sandbox Code Playgroud)

javascript node.js

61
推荐指数
5
解决办法
7万
查看次数

在javascript中清空普通对象的最有效方法是什么?

如前所述这里,似乎清空现有阵列(不是分配一个新的)JavaScript中的最有效的方法是使用:

array.length = 0;
Run Code Online (Sandbox Code Playgroud)

相同的操作是否适用于普通对象?(又名"关联数组"或"字典")如果没有,清空现有javascript对象的最有效方法是什么?

我认为分配一个新的不是最好的选择,因为它会将一些额外的工作推送到垃圾收集器,并在堆上分配一些新的内存,但我可能错了.

我需要一个至少适用于Chrome和Firefox的解决方案.

javascript arrays performance dictionary clear

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

Javascript'delete'在迭代循环中不起作用

我是一名使用JavaScript的C/C++/Java程序员.

我正在尝试编写一个删除对象'obj'的所有属性的函数.我已经阅读了关于" 如何快速清除Javascript对象? " 的帖子,并看到有两个答案:(1)创建一个新的'obj'(我不想做,因为我的代码很高在移动浏览器中运行的性能程序,我希望最小化垃圾收集); (2)迭代循环中对象的属性并删除属性.后一种方法在Chrome 12中不起作用.

请考虑以下代码:

var foo = {};
foo['baz'] = 'bar';
console.log("1. foo.baz = " + foo.baz);

delete foo.baz;
console.log("2. foo.baz = " + foo.baz);

foo['baz'] = 'bar';
console.log("3. foo.baz = " + foo.baz);

for (prop in foo)
{
    if (foo.hasOwnProperty(prop))
    {
        console.log("deleting property " + prop);
        delete foo.prop;
    }
}
console.log("4. foo.baz = " + foo.baz);
Run Code Online (Sandbox Code Playgroud)

这会在Chrome 12上的控制台中产生以下结果:

1. foo.baz = bar
2. foo.baz = undefined
3. foo.baz = bar
deleting property baz
4. foo.baz …
Run Code Online (Sandbox Code Playgroud)

javascript

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

javascript/omniture - 如何清除对象的所有属性(s对象)

我正在使用omniture并跟踪各种属性到"s"变量进行跟踪.我跟随的示例代码在每个跟踪事件之后调用一个名为s.clearVars()的函数.但我得到一个错误,说clearVars不是一个有效的函数.有谁知道我应该打电话来清除跟踪对象?或者如何从javascript对象中清除所有属性.

javascript jquery object adobe-analytics

4
推荐指数
1
解决办法
3952
查看次数

将对象重置为空对象,在非线性时间内保持引用完整

假设我obj1只有可枚举的属性:

var obj1 = { a: 1, b: 2, c: 3 };
Run Code Online (Sandbox Code Playgroud)

然后我创建obj2一个包含对以下内容的引用obj1

var obj2 = obj1;
obj1 === obj2; // true
Run Code Online (Sandbox Code Playgroud)

在某些时候,我想重置obj1为空对象:

for (key in obj1) {
  delete obj1[key];
}
obj1 === obj2; // true
Run Code Online (Sandbox Code Playgroud)

但我想避免迭代所有属性:

obj1 = {};
obj1 === obj2; // false (this obviously doesn't work)
Run Code Online (Sandbox Code Playgroud)

还有其他解决方案吗?

javascript

4
推荐指数
1
解决办法
2194
查看次数