我无法绕过这个怪癖.
[1,2,3,4,5,6][1,2,3]; // 4
[1,2,3,4,5,6][1,2]; // 3
Run Code Online (Sandbox Code Playgroud)
我知道[1,2,3] + [1,2] = "1,2,31,2",但我找不到正在执行的类型或操作.
如果我声明一个像这样的JavaScript布尔变量:
var IsLoggedIn;
Run Code Online (Sandbox Code Playgroud)
然后用或者初始化true或者1,是安全的呢?或者将1变量初始化为变量?
我想要一个正则表达式或其他方法来删除字符串中的最后一个字符,当且仅当该字符是'/'时.我该怎么做?
为什么我的参数x表现得如此不规律?
x因为它是在"子"范围内定义的.例1:
List<int> list = new List<int> { 1, 2, 3, 4, 5 };
var result = list.Where(x => x < 3);
Console.Write(result.ElementAt(x));
Run Code Online (Sandbox Code Playgroud)
创建此编译时错误:
当前上下文中不存在名称"x"
我期待的.
例2:
List<int> list = new List<int> { 1, 2, 3, 4, 5 };
var result = list.Where(x => x < 3);
int x = 1;
Console.Write(result.ElementAt(x));
Run Code Online (Sandbox Code Playgroud)
产生这个编译时错误:
名为'x'的局部变量不能在此范围内声明,因为它会给'x'赋予不同的含义,'x'已在'子'范围内用于表示其他内容
我理解在这个问题中回答的范围,C#在foreach中重用变量是否有原因?.然而,这是我以前从未见过的.另外,它回答了这个问题,C#中lambda变量的范围是什么?,不完整或错误.
例3:
List<int> list = new …Run Code Online (Sandbox Code Playgroud) 我不确定为什么以下内容不会将Vend的值作为字符串返回.当我检查vend的值时,它说:System.Data.Objects.ObjectQuery``1[System.String]
string vend = (from vnd in db.Vendors
where vnd.VendorID == id
select vnd.VendorName).ToString();
Run Code Online (Sandbox Code Playgroud)
当我查看vend的价值时,这不是我的预期
我在本地计算机上创建了一个私有MSMQ.我使用以下C#代码将消息发送到队列.当我将队列更改为事务时,消息未到达MSMQ.但是,Send方法中没有抛出异常.我需要做些什么改变才能让它发挥作用?
using System;
using System.Messaging;
using System.Data;
public partial class _Default : System.Web.UI.Page
{
//Sharing violation resulted from queue being open already for exclusive receive.
MessageQueue helpRequestQueue = new MessageQueue(@".\Private$\MyPrivateQueue", false);
protected void Page_Load(object sender, EventArgs e)
{
bool isTransactionalQueue = false;
if (!System.Messaging.MessageQueue.Exists(@".\Private$\MyPrivateQueue"))
{
System.Messaging.MessageQueue.Create(@".\Private$\MyPrivateQueue", isTransactionalQueue);
}
SendMessage();
GetAllMessages();
}
private void SendMessage()
{
System.Messaging.Message theMessage = new System.Messaging.Message("TimeNow is "+DateTime.Now.ToString());
theMessage.Label = "Lijo " + DateTime.Now.ToString();
theMessage.Priority = System.Messaging.MessagePriority.Normal;
helpRequestQueue.Send(theMessage);
}
private void GetAllMessages()
{
DataTable messageTable = …Run Code Online (Sandbox Code Playgroud) 可能重复:
Javascript RegExp的有趣测试
正则表达式测试无法在true和false之间做出决定(JavaScript)
问题的例子.在内联运行时,结果如我所料.但是当存储为变量时,它会跳过中间跨度元素.
// Inline RegExp
function getToggleClasses() {
var toggler = [],
elements = document.getElementsByTagName("*"),
i=0,
len = elements.length;
for (i; i < len; i++) {
if (/toggler/g.test(elements[i].className)) {
toggler.push(elements[i]);
}
}
document.getElementById('results').innerHTML += "<br />Inline: " + toggler.length;
}
// Variable
function getToggleClasses2() {
var toggler = [],
elements = document.getElementsByTagName("*"),
tester = /toggler/g,
i=0,
len = elements.length;
for (i; i < len; i++) {
if (tester.test(elements[i].className)) {
toggler.push(elements[i]);
}
}
document.getElementById('results').innerHTML += "<br />Variable: …Run Code Online (Sandbox Code Playgroud) 我有几千个字符串的数组
['7/21/2011', '7/21/2011', '7/21/2011', '7/20/2011', etc]
Run Code Online (Sandbox Code Playgroud)
我目前正在运行此代码以按字符串分组并获取最大组值:
var max = 0;
var group = {};
arr.map(function (value) {
if (group[value]) {
group[value]++;
} else {
group[value] = 1;
}
max = Math.max(max, group[value]);
});
Run Code Online (Sandbox Code Playgroud)
是否有任何改进使这段代码运行得更快?
编辑: 结果在:http://jsperf.com/javascript-array-grouping2
编辑编辑:该测试存在缺陷.迈克塞缪尔的代码是最快的.
6000个条目测试 - > http://jsperf.com/javascript-array-grouping2
10K条目测试 - > http://jsperf.com/javascript-array-grouping
我有一个字典结构,里面有多个键值对.
myDict.Add(key1, value1);
myDict.Add(key2, value2);
myDict.Add(key3, value3);
Run Code Online (Sandbox Code Playgroud)
我的字典用作某些控件的数据源.在控件的下拉列表中,我看到项目是这样的:
key1
key2
key3
Run Code Online (Sandbox Code Playgroud)
订单看起来与我的字典相同.我知道Dictionary不像arrayList - 你可以得到索引左右.我不能使用sortedDictionary.现在我需要在我的程序的某个点为这个字典添加一个键值对,我希望它与我这样做有同样的效果:
myDict.Add(newKey, newValue);
myDict.Add(key1, value1);
myDict.Add(key2, value2);
myDict.Add(key3, value3);
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我知道newKey将作为第一个元素显示在我的控件中.
我有一个想法是创建一个tempDict,将myDict中的每一对放入tempDict,然后清除myDict,然后像这样添加对:
myDict.Add(newKey, newValue);
myDict.Add(key1, value1);
myDict.Add(key2, value2);
myDict.Add(key3, value3);
Run Code Online (Sandbox Code Playgroud)
还有比这更好的方法吗?
谢谢!
我有一个输入元素,如: <input class="input-m" name="formelement[]" type="text">
我想克隆它并将克隆的html存储到变量:
var txt=jQuery("input[name="+n+"[]]:first").clone().html();
Run Code Online (Sandbox Code Playgroud)
这会返回一个空字符串.
我如何从中获取html内容.clone()?