var arr = { foo : 1, bar: { baz : 2 }, bee : 3 }
function getter(variable) {
return arr[variable];
}
Run Code Online (Sandbox Code Playgroud)
如果我想要"foo"vs"bee"我可以做arr[variable]
- 这很容易,而且功能就是这样.
但是,如果我想获得arr.bar.baz
AKA arr[bar][baz]
怎么办?
我可以传递给getter函数,让我这样做,(当然也让我使用相同的函数获得非嵌套属性).
我试过了getter('bar.baz')
,getter('[bar][baz]')
但那些没用.
我想我可以解析为点或括号(喜欢这里:在JavaScript中,测试性能深深嵌套在对象图?).有更干净的方式吗?(当然除了eval.)
特别是因为我需要在一个循环中为一堆数组元素多次正确地设置深度.
在PHP中什么更快,制作一个大的switch语句,或者设置一个数组并查找密钥?
在你回答之前,我很清楚,对于纯查找,数组更快.但是,这是假设只创建一次数组,然后反复查找它.
但这不是我正在做的 - 每次运行代码都是新的,每次只使用一次数组.因此,每次都需要重新计算所有数组哈希值,并且我想知道是否执行该设置比仅使用switch语句更慢.
这合法吗?它适用于所有浏览器吗?
function func1(a, b, c) {
//b == 2 here
change_em(arguments);
//b should equal 3 here
}
function change_em(args) {
args[0] = 6;
args[1]++;
args[2] = [];
}
func1('foo', 2);
Run Code Online (Sandbox Code Playgroud)
如果您想知道,我需要调整函数中的参数.一个宏是完美的,除了javascript没有.正确地执行它,即将变量传递给函数,然后将它们返回到对象中,然后在调用者中提取它们几乎与复制/粘贴调整函数一样多.
我一直在寻找如何正确启用mod_status并且没有任何工作.我的服务器名为"willserver.main.ca".我在Windows虚拟机上运行服务器.我尝试将此添加到HTTPD配置文件:
<location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from main.ca
</location>
Run Code Online (Sandbox Code Playgroud)
任何提示或帮助?我不知道我是否应该取消注释,或者我只是一遍又一遍地尝试错误的语法
假设我需要字符串中的单个值,例如版本号。我应该使用 exec() 还是 match()?
片段1
res1 = /(\d+\.\d+)/.exec(some_string)[0];
Run Code Online (Sandbox Code Playgroud)
与
片段2
res1 = some_string.match(/\d+\.\d+/)[0];
Run Code Online (Sandbox Code Playgroud)
哪个更好?
我试图制作一个简单的游戏,http://pastebin.com/BxEBB7Z6,c.目标是通过获取随机数来尽可能接近21来击败计算机.
对于每一轮,球员的名字和总和都会被呈现出来,但由于某些原因它只能在第一次运作?像这样的东西:
球员约翰总和0.球员总和9.球员总和11.
等等.
为什么玩家的名字会被展示一次,但之后没有任何其他印刷品?我不在某处重新分配:-)
我使用该功能void PrintPlayerSum(struct Player *p)
将其打印出来,它第一次工作,但仅限于此.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
struct Player
{
char name[256];
int sum;
};
void PrintPlayerSum(struct Player *p)
{
printf("Player %s has sum %d\n", p->name, p->sum);
}
void wait ( int seconds )
{
clock_t endwait;
endwait = clock () + seconds * CLOCKS_PER_SEC ;
while (clock() < endwait) {}
}
int main()
{
struct Player *player = malloc(sizeof(*player));
strcpy( player->name, "John");
player->sum = 0;
while(1)
{ …
Run Code Online (Sandbox Code Playgroud) 当我运行此查询时,mysql服务器cpu使用率保持在100%并扼杀服务器.我究竟做错了什么?
SELECT *
FROM projects p, orders o, invoices i
WHERE p.project_state = 'product'
AND (
p.status = 'expired'
OR p.status = 'finished'
OR p.status = 'open'
)
AND p.user_id = '12'
AND i.projectid =0
GROUP BY i.invoiceid
LIMIT 0 , 30
Run Code Online (Sandbox Code Playgroud)