相关疑难解决方法(0)

什么是sleep()的JavaScript版本?

有没有sleep比使用以下pausecomp函数更好的方法来设计JavaScript (从这里开始)?

function pausecomp(millis)
{
    var date = new Date();
    var curDate = null;
    do { curDate = new Date(); }
    while(curDate-date < millis);
}
Run Code Online (Sandbox Code Playgroud)

这不是JavaScriptSleep的重复- 动作之间的延迟 ; 我希望在函数中间实现真正的睡眠,而不是在执行代码之前的延迟.

javascript sleep

2115
推荐指数
41
解决办法
241万
查看次数

有没有办法从当前函数中获取当前函数?

抱歉这个非常奇怪的标题,但这就是我要做的事情:

var f1 = function (param1, param2) {

    // Is there a way to get an object that is ‘f1’
    // (the current function)?

};
Run Code Online (Sandbox Code Playgroud)

如您所见,我想从匿名函数中访问当前函数.

这可能吗?

javascript function

50
推荐指数
3
解决办法
3万
查看次数

箭头功能和此

我正在尝试ES6,并希望在我的函数中包含一个属性,就像这样

var person = {
  name: "jason",

  shout: () => console.log("my name is ", this.name)
}

person.shout() // Should print out my name is jason
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码控制台时只记录日志my name is.我究竟做错了什么?

javascript this ecmascript-6 arrow-functions

19
推荐指数
3
解决办法
8492
查看次数

如果数组中的所有值都为 true(字符串)并且其中一个值为 false(字符串),则如何返回布尔值 true 停止使用 Javascript 检查

我有一个数组

var myarr = ["true","false","true"];
Run Code Online (Sandbox Code Playgroud)

我希望上面返回布尔类型的 false 。

var myarr = ["true","true","true"];
Run Code Online (Sandbox Code Playgroud)

我希望上面返回布尔类型的 true 。有人可以帮助实现这一目标的最有效方法是什么吗?

最好先将字符串转换为另一个数组中的布尔值,然后使用 .every() 吗?

请指教。谢谢。

javascript arrays string jquery boolean

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

如何检查一个数组是否包含另一个数组的任何项目

我有两个数组

var master= ["1","2","3"];
var arr = ["1","5"];
Run Code Online (Sandbox Code Playgroud)

我想检查是否arr包含中的任何项目master。根据这里的SO post,我有以下仅适用于chrome的代码

var found = arr.some(r => master.indexOf(r) >= 0);
Run Code Online (Sandbox Code Playgroud)

但是它不适用于IE11。IE11引发错误

第23行的https:// localhost:44328 / js / xxxx.js \ n \ nSCRIPT1002中的JavaScript严重错误 :语法错误

我也尝试过

 var found = arr.some(r => master.includes(r) >= 0);
Run Code Online (Sandbox Code Playgroud)

javascript arrays jquery

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

Javascript 中 ForEach 的替代箭头函数

我有如下代码

function renameKey ( obj, oldKey, newKey ) {
  obj[newKey] = obj[oldKey];
  delete obj[oldKey];
}
const arr = JSON.parse(json);
arr.forEach( obj => renameKey( obj, '_id', 'id' ) );
const updatedJson = JSON.stringify( arr );
Run Code Online (Sandbox Code Playgroud)

但似乎箭头函数 (=>) 在我的环境中不起作用并出现以下错误。

箭头函数语法 (=>)' 仅在 ES6 中可用(使用 'esversion: 6')

这是 Apigee 环境,我无权更改任何配置。当我删除箭头函数并像下面这样作为普通函数调用时,它失败了

const arr = JSON.parse(json);
arr.forEach(renameKey( obj, '_id', 'id' ) );
const updatedJson = JSON.stringify( arr );
Run Code Online (Sandbox Code Playgroud)

因此,为了更改 JSON 中的每个键,我如何使用 forEach 循环,或者如果有替代方法将会很有帮助。有人可以建议一下吗。

javascript arrays json arrow-functions

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