在我的代码中,我处理的数组中有一些条目,其中有许多对象彼此嵌套,而有些则没有.它看起来像下面这样:
// where this array is hundreds of entries long, with a mix
// of the two examples given
var test = [{'a':{'b':{'c':"foo"}}}, {'a': "bar"}];
Run Code Online (Sandbox Code Playgroud)
这给了我一些问题,因为我需要有时遍历数组,并且不一致会给我带来如下错误:
for (i=0; i<test.length; i++) {
// ok on i==0, but 'cannot read property of undefined' on i==1
console.log(a.b.c);
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以说if(a.b){ console.log(a.b.c)},但是在最多有5个或6个对象相互嵌套的情况下,这是非常繁琐的.有没有其他(更简单)的方法,我只能执行console.log,如果它存在,但没有抛出错误?
我有一个Web应用程序,用户需要不断连接.默认情况下,socket.io将在60秒后断开连接.我打开了"重新连接",所以它基本上每分钟关闭并重新打开连接.这可能会导致向我连接的客户端提供Feed /通知时出现问题.将此超时设置为10分钟或更高可能是安全的吗?它现在有这么低的原因吗?
我正在进行模糊搜索,需要查看匹配的单词.例如,如果我正在搜索查询testing,并且它与带有句子的字段匹配The boy was resting,我需要能够知道匹配是由于该单词resting.
我尝试设置参数explain = true,但它似乎不包含我需要的信息.有什么想法吗?
我很难弄清楚我遇到的一些代码的目的.
代码有一个类Foo,它有一个__init__带多个参数的方法.从我到目前为止学到的Python,通过调用Foo('bar'),它将传递这个字符串作为参数__init__(我认为它应该相当于一个构造函数).
但我遇到的问题是我正在查看的代码是Foo.__init__('bar')直接调用.这样做的目的是什么?我几乎觉得我错过了其他目的__init__.
我已经在本地系统上安装了node.js(路径:C:\Program Files\nodejs)。我安装了一些模块并希望将它们放置在 (C:\Program Files\nodejs\node_modules) 中。但是,安装的模块放置在 C:\Users\Administrator\AppData\Roaming\npm\node_modules 中。这是对还是错?我可以在全球范围内访问这些模块吗?
我的系统平台是windows 7,我的node版本是0.10。
我想创建一个客户端函数,可以使用客户端变量接收和执行任意命令.我将从我的服务器发送这些函数,使用socket.io发送一个包含匿名函数的JSON对象,这将是我的命令.它看起来像下面这样:
//client side
socket.on('executecommand', function(data){
var a = "foo";
data.execute(a); //should produce "foo"
});
//server side
socket.emit('executecommand', {'execute': function(param){
console.log(param);
}});
Run Code Online (Sandbox Code Playgroud)
然而,当我尝试它时,客户端收到一个空的json对象(data == {}),然后抛出异常,因为数据不包含方法执行.这里出了什么问题?
好吧,在任何人试图将其标记为重复之前,我不是要求字符串到字节数组.我想要一个字符串数组,包含类似这样的东西:{"5","168","188","28","29","155"}转换为字节数组.我已经搜索过,并且只能找到字符串到字节数组,这是完全不同的.谢谢.
编辑:将预设数组,以便通过byte.Parse可以解析每个成员,因此这不是问题.
我一直在阅读有关属性和类变量的一些教程,我理解如果你设置一个类变量(在下面的例子中,bar),那么你可以调用一个类型将这个对象强制转换为一个特定的变量(我做过)不要在下面的例子中这样做,只是为了澄清).但是,如果您使用同一个类变量,并且已经存储了一个对象来调用方法,会发生什么?参考下面的例子,将"ok"传递给方法,还是简单地忽略它?我尝试运行这个虽然这个编译器,它似乎没有问题,但我不确定它是否实际上做任何与对象栏设置为.谢谢您的帮助!
public class Foo
{
public static void Main()
{
Foo bar = new Foo();
object ok = "ok";
bar = (Foo)ok;
bar.genericMethod();
}
public void genericMethod()
{
}
}
Run Code Online (Sandbox Code Playgroud)