我有一个从-1000到1000的数字,我有一个数字的数组.像这样:
[2, 42, 82, 122, 162, 202, 242, 282, 322, 362]
Run Code Online (Sandbox Code Playgroud)
我希望我的数字更改为最接近的数组.
例如,我得到80
我希望得到的数字82
.
我需要在node.js的帮助下获取文件的文件类型来设置内容类型.我知道我可以轻松检查文件扩展名,但我也有没有扩展名的文件应该有内容类型image/png
,text/html
aso.
这是我的代码(我知道它没有多大意义,但这是我需要的基础):
var http = require("http"),
fs = require("fs");
http.createServer(function(req, res) {
var data = "";
try {
/*
* Do not use this code!
* It's not async and it has a security issue.
* The code style is also bad.
*/
data = fs.readFileSync("/home/path/to/folder" + req.url);
var type = "???"; // how to get the file type??
res.writeHead(200, {"Content-Type": type});
} catch(e) {
data = "404 Not Found";
res.writeHead(404, {"Content-Type": "text/plain"});
}
res.write(data);
res.end(); …
Run Code Online (Sandbox Code Playgroud) 我的总体目标是在页面上获取所有部分下拉菜单并将其发送给php文件进行处理.
现在,我在jQuery中执行此操作的方式是创建一个整体调度数组,然后将要更新的每个元素添加到该数组中.所以我有类似的东西:
var schedule = [];
var data = {
'user_id' : '12',
'day_of_week' : 'Monday',
'when' : 'start',
'time' : '12 AM'
}
schedule.push(data);
var data = {
'user_id' : '13',
'day_of_week' : 'Tuesday',
'when' : 'end',
'time' : '12 AM'
}
schedule.push(data);
// schedule would have two objects in it
Run Code Online (Sandbox Code Playgroud)
显然是循环和东西.
因此,我的schedule数组中有两个对象,在本例中.
现在,是否可以将该计划数组用作ajax数据?如果我执行以下操作,它将无效:
$.ajax({
url: 'http://something.com/ajax',
data: schedule,
type: 'POST'
});
Run Code Online (Sandbox Code Playgroud)
但是,如果我改为将其改为schedule[0]
工作正常,但显然只是对于计划数组中的第一件事.
所以我可以看到select元素的选项,但我需要点击它.如果我想使用某个功能怎么办?当发生某些事情时,应选择此选择元素,表示列表已打开,我可以看到选项.我不希望用户点击选择元素,我想要其他东西来打开它.
我试过的
$("select").select();
$("select").click();
$("select").focus();
Run Code Online (Sandbox Code Playgroud)
有一个select元素,通常如果你想打开它(下拉列表),你点击它.我想要的是打开它,如果我点击一个DIV
或其他任何东西.我希望打开此下拉列表,而无需用户单击select元素.
我迫切希望找到解决方案.我正在尝试开发汇编代码,允许我加载和执行(通过用户输入)2个其他Assembly .EXE程序.我有两个问题:
我似乎无法将路径名分配给有效的寄存器(或者可能是不正确的语法)
我需要能够在第一个程序(可能是其中一个)开始执行之后执行另一个程序.
这是我到目前为止:
mov ax,cs ; moving code segment to data segment
mov ds,ax
mov ah,1h ; here I read from keyboard
int 21h
mov dl,al
cmp al,'1' ; if 1 jump to LOADRUN1
JE LOADRUN1
cmp al,'2' ; if 2 jump to LOADRUN2
JE LOADRUN2
LOADRUN1:
MOV AH,4BH
MOV AL,00
LEA DX,[PROGNAME1] ; Not sure if it works
INT 21H
LOADRUN2:
MOV AH,4BH
MOV AL,00
LEA DX,[PROGNAME2] ; Not sure if it works
INT 21H
; Here …
Run Code Online (Sandbox Code Playgroud) 我想删除所选元素的下一个元素.在这里,我想用css类"xqh_Mandatory_icon"删除"div".
<div class="xqh_Field">
<nobr>
<input name=
"ctl00$objContentPageTag$spzContactInformation$txt_sContactFirstName$txt" type="text"
size="25" id=
"ctl00_objContentPageTag_spzContactInformation_txt_sContactFirstName_txt" class=
"xqh_TextBox_Edit validate_txt_sContactFirstName" style=
"width:150px;margin-right:0px;" />
</nobr>
<div class="xqh_Mandatory_icon"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我试过这个代码
$('.xqh_TextBox_Edit.validate_txt_sContactFirstName').next().remove('xqh_Mandatory_icon');
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
如果我有以下数组.list[]
为最后一个元素添加元素的最佳方法是$myArray[]
什么?注意,list[]
有数字索引(即不关联).谢谢!
$myArray[] = array( 'name' => 'hello', 'list' => array() );
Run Code Online (Sandbox Code Playgroud) 我目前正在重写一些旧代码并遇到了这个:
gettimeofday(&tv, NULL);
unsigned int t = tv.tv_sec * 1000 + tv.tv_usec / 1000;
Run Code Online (Sandbox Code Playgroud)
这看起来确实像是他们试图将纪元以来的毫秒数存储在 uint32 中。当然,我认为这不合适,所以我做了一些测试。
#include <sys/time.h>
#include <stdint.h>
int main() {
struct timeval tv;
gettimeofday(&tv, nullptr);
uint32_t t32 = tv.tv_sec * 1000 + tv.tv_usec / 1000;
int64_t t64 = tv.tv_sec * 1000 + tv.tv_usec / 1000;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我是对的:
(gdb) print t32
$1 = 1730323142
(gdb) print t64
$2 = 1423364498118
Run Code Online (Sandbox Code Playgroud)
所以我猜他们所做的事情并不安全。但他们在做什么、为什么这样做以及实际发生了什么?(在这个例子中,左边的 10 位将会丢失,他们只关心差异)他们仍然保持毫秒精度吗?(是)请注意,他们通过网络发送此“时间戳”并仍然使用它进行计算。
我真的需要一个算法大师!所以问题就是我得到了一个像这样的数组:
[
[870, 23]
[970, 78]
[110, 50]
]
Run Code Online (Sandbox Code Playgroud)
我想将它拆分,所以它看起来像这样:
// first array
[
[970, 78]
]
// second array
[
[870, 23]
[110, 50]
]
Run Code Online (Sandbox Code Playgroud)
所以现在,为什么我想要它看起来像这样?
因为我想保持子值的总和尽可能相等.所以970
是关于870 + 110
和78
将来的23 + 50
.因此,在这种情况下它很容易,因为如果你只是拆分它们而只看第一个子值它已经是正确的但我想检查两者并保持它们尽可能相等,这样它也可以使用一个有100个子阵列的数组!所以,如果有人能告诉我我可以编程的算法,那真的很棒!
秤:
我正在寻找一个"足够接近的解决方案" - 它不一定是最合适的解决方案.
看一下C++中的引用,我注意到我看到的所有实现都在内部使用了指针.
C++标准是否保证引用将在内部使用指针,或者实现是否可以使用更"有效"的解决方案?(我现在不会看到如何"更好"地完成它,因为当创建一个新的堆栈帧时,实际上并不是一种防弹方法可以很容易地知道堆栈基指针的偏移量,因为堆栈引用的变量是非常有活力)
注意:我确实理解了C++中指针和引用之间的区别(这个问题与此无关)