小编Sea*_*n T的帖子

将时区设置为“欧洲/伦敦”时,IE 11 抛出“'timeZone' 超出有效范围”

我有一些 js 来获取以英国时区显示的本地时间。

var d = new Date(); // local system time (whatever timezone that is)
var dUK = new Date(d.toLocaleString('en-GB', { timeZone: 'Europe/London' })); // UK timezone (covers BST too)
Run Code Online (Sandbox Code Playgroud)

在除 IE 11(sigh...) 之外的所有浏览器中都可以正常工作,它会引发以下错误:

Option value 'EUROPE/LONDON' for 'timeZone' is outside of valid range. Expected: ['UTC']

有人有什么建议吗?有关支持 IE 的示例小提琴,请参见http://jsbin.com/dawaqocuvi/1/edit?html,js,console,output

javascript internet-explorer datetime localization internet-explorer-11

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

C# 展平具有列表属性的对象列表

给定以下对象:

public class Person
{
    public string Name {get; set;}

    public string Age {get; set;}

    public list<string> Interests {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

是否有一种很好的单行 linq 方法来展平它(我对扩展方法持开放态度),例如,如果我们有

var People = new List<Person>(){
    new Person(){
        Name = "Bill",
        Age  = 40,
        Interests = new List<string>(){"Football", "Reading"}
    },
    new Person = new List<Person>(){
        Name = "John",
        Age = 32,
        Interests = new List<string>(){ "Gameshows", "Reading"}
    },
    new Person = new List<Person>(){
        Name = "Bill",
        Age = 40,
        Interests = new List<string>(){ "Golf"} 
    }
} 
Run Code Online (Sandbox Code Playgroud)

我们可以得到以下结果(即, …

c# linq flatten

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

在Visual Studio更新15.8之后将不会加载Gruntfile

我将Visual Studio更新为15.8,现在尝试使用Task Runner Explorer编译较少的文件时出现以下错误:

Failed to run "C:\Projects\TFS Git Repo\Main\src\Ljmu.Web.UI\Gruntfile.js"...
cmd.exe /c grunt -b "C:\Projects\TFS Git Repo\Main\src\Ljmu.Web.UI" --gruntfile "C:\Projects\TFS Git Repo\Main\src\Ljmu.Web.UI\Gruntfile.js" --tasks "c:\program files (x86)\microsoft visual studio\2017\enterprise\common7\ide\extensions\microsoft\web tools\taskrunnerexplorer\Scripts" vs-grunt-task-reader
grunt[10096]: src\node_contextify.cc:631: Assertion `args[1]->IsString()' failed.
 1: 00007FF677EB82F5 
 2: 00007FF677E94156 
 3: 00007FF677E94221 
 4: 00007FF677E6A69A 
 5: 00007FF6784B5EB2 
 6: 00007FF6784B7008 
 7: 00007FF6784B636D 
 8: 00007FF6784B628B 
 9: 00000292D50841C1 
Run Code Online (Sandbox Code Playgroud)

任何想法欢迎...

编辑

从命令行运行时,它工作正常,所以我认为这只是Task Runner Explorer的问题。

gruntjs task-runner-explorer visual-studio-2017

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

C#修改对象的静态方法

想象一下这样的事情......

public class Result
{
    public string Name {get; set;}

    public int Score {get; set;}

    public bool Pass {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

还有一个静态方法...

public static Result SetPass(this Result result)
{
    result.Pass = result.Score > 50;

    return result;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我必须返回结果还是已经修改到位?我可以让返回类型为空,然后遍历结果集合并像这样修改......

foreach (var result in results)
{
    result.SetPass();
}
Run Code Online (Sandbox Code Playgroud)

还是我需要返回结果对象并重新分配?

c# static-methods

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

将重复的JSON名称转换为对象?

我有以下字符串......

{
    "Qualifications[0].DegreeType": "Degree Type 1",
    "Qualifications[0].Classification": "Clasification 1",
    "Qualifications[0].CourseTitle": "Course Title 1",
    "Qualifications[0].YearOfAward": "2018",
    "Qualifications[0].AwardingInstitution": "Awarding institution 1",
    "Qualifications[1].DegreeType": "Degree Type 2",
    "Qualifications[1].Classification": "Classification 2",
    "Qualifications[1].CourseTitle": "Course Title 2",
    "Qualifications[1].YearOfAward": "2019",
    "Qualifications[1].AwardingInstitution": "Awarding Institution 2",
    ... and so on...
 }
Run Code Online (Sandbox Code Playgroud)

有没有人知道将其转换为javascript对象的简单方法,以便我可以有效地去...

$(Qualifications).each(i, v){
    //do stuff on whatever property of Qualifications[i]
}
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一方法是使用字符串操作和类似下面的东西,但是它需要为每个属性进行大量的自定义代码检查映射,而且我需要更通用和简单的东西....

    let i = 0;
    while (Qualifications[" + i +"].whateverProperty..) {
        //add to object array
        i++;
    }
Run Code Online (Sandbox Code Playgroud)

javascript jquery json

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

缩小js时布尔切换的原因

我在js文件中有这行代码

var useScroll = Window.innerWidth > 1360 ? true : false;
Run Code Online (Sandbox Code Playgroud)

当它缩小时就变成了

i=Window.innerWidth>1360?!0:!1
Run Code Online (Sandbox Code Playgroud)

我只是好奇,为什么有!操作员?对我而言,这样做更有意义.

i=Window.innerWidth>1360?1:0
Run Code Online (Sandbox Code Playgroud)

javascript minify

0
推荐指数
1
解决办法
63
查看次数