小编Jam*_*mes的帖子

哪个更快,For Loop或.hasOwnProperty?

我正在开展一个项目,我需要从一个巨大的用户数据列表中提取被排除用户的列表.这让我想知道使用for loop带有排除id的双倍是否更快array.或者,如果将id放在对象属性中并且使用.hasOwnProperty()更快.

var mainList = LARGE JSON OBJECT OF DATA.
var eArray = ["123456","234567","345678","456789","012345"];
var eObject = {"123456":"0","234567":"0","345678":"0","456789":"0","012345":"0"};
Run Code Online (Sandbox Code Playgroud)

使用双重For Loop方法:

for(i=0; i < mainList.length; i++){
    for(j=0; j < eArray.length; j++){
        if(mainList[i]['id'] === eArray[j]){
           //Do Something
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

使用.hasOwnProperty()方法:

for(i=0; i < mainList.length; i++){
    if(eObject.hasOwnProperty(mainList[i]['id'])){
       //Do Something
    }
}
Run Code Online (Sandbox Code Playgroud)

我意识到还有其他方法可以使循环更快,比如在变量中存储长度.我试图简化这个.

感谢您提供任何信息.

javascript performance jquery for-loop

6
推荐指数
2
解决办法
5394
查看次数

如何在授权 Oauth2.0 时检索用户组织单位

信息位

我们正在尝试为使用 Google Classroom 或 Google G-Suite for Education 的学生建立登录。本质上,单点登录系统。学生和管理员将登录,我将验证他们的电子邮件扩展名,这对他们的地区来说是唯一的,然后我会将他们放入我们系统中正确的学校。

这种将用户帐户划分为我们系统中的许可证的过程是在用户登录时即时进行的,因此在开始时不需要大量数据转储。

用户和管理员必须被路由到我们系统中的正确学校,因为管理员在我们的系统中运行报告和管理用户,并且需要具有正确的访问权限。

问题

我不知道如何Organizational Units从 Google 服务 api获取用户。通常,学校将组织单位作为学校,并将学生分配到这些学校。

因此,当我使用 Oauth2 对用户进行身份验证时

$googleService = new Google_Service_Oauth2($googleClient);
$info = $googleService->userinfo->get();
Run Code Online (Sandbox Code Playgroud)

这工作正常,用于获取一些基本信息,但不包括该用户的组织单位。

然后当我尝试使用Google Directoryapi 时,它工作正常,但前提是用户是管理员

$directory = new Google_Service_Directory($googleClient);
$user = $directory->users->get($userId);
Run Code Online (Sandbox Code Playgroud)

因此,如果登录我的应用程序的人(主要是学生)不是管理员,那么他们将无法从Google Directory.

主要问题

如何获取经过身份验证的用户(不是管理员)的组织单位?

也许这对于 Google 服务来说是不可能的,但我们在其他六项服务中做到了这一点,没有任何问题。任何帮助表示赞赏。似乎无法在谷歌论坛或代码示例上找到有关此的任何信息。

google-oauth google-directory-api google-classroom

5
推荐指数
0
解决办法
837
查看次数

在PHPWord中,左右对齐单词

我想知道是否还有左右对齐同一行的一些文字.例如,简历的公司名称与左侧对齐,日期与右侧对齐,在同一条线上.

我试图用文本运行来做这件事,但似乎没有用.我知道我可以使用,\t\t但左侧文本的长度不同,因此选项卡将非常不一致.

这只是一个简单的例子:

$section = $phpWord->addSection();
$textrun = $section->addTextRun();
$textrun->addText("Left Text", array(), array("align" => "left"));
$textrun->addText("Right Text", array(), array("align" => "right"));
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.谢谢.

php phpword

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

使用for而不是.each()

我的假设是.each()函数在处理大量元素时比for循环慢.

我的问题是for循环我无法操纵元素,因为我正在循环它们.我可以用.each()做到这一点.这可能是一个简单的答案.

使用Javascript:

var element = $('#element h3');
var length = element.length;
var newHtml;

for(i=0;i<length;i++){

  newHtml = element[i].html();

  ...test newHtml
}
Run Code Online (Sandbox Code Playgroud)

当我尝试获取元素的.html()时代码中断.我已经看到过帖子解释了这是用循环遍历元素的方法,但从中获取信息并操纵它们从未得到解决.

任何帮助都感激不尽!

javascript each jquery loops for-loop

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

运行 XCode 的发行版和测试版

我想知道如何在 Mac 上运行两个版本的 xcode,或者是否可能。

我目前有许多使用 xcode7 版本提供服务的生产应用程序。我必须拥有它才能将应用程序版本上传到应用程序商店。

我还有一个 ipod touch 设备,正在运行 ios9.1 beta,并且想要为新操作系统测试和编写代码。

但是,xcode7 说我无法测试 ios 9.1 beta,我必须安装 xcode beta。另外,我了解到您无法使用测试版将应用程序推送到应用程序商店。那么如何维护当前的应用程序并构建新功能呢?

也许我错过了什么?一些设置允许我在这些 xcode 之间切换?或者Mac允许我安装两个不同版本的XCode吗?我以为它会覆盖另一个。

如果不需要的话,我不想购买另一台 Mac,或者对我拥有的 Mac 进行分区,或者继续在所有设备上下载并安装不同版本。

任何信息都会有帮助,其他人如何处理这个问题?

xcode ios xcode7

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