草庐IT

for-in-loop

全部标签

javascript - for( in ) 循环索引是字符串而不是整数

这个问题在这里已经有了答案:Whydoesjavascriptturnarrayindexesintostringswheniterating?(6个答案)IsaJavaScriptarrayindexastringoraninteger?(5个答案)Whyiskeyastringinfor...in(3个答案)Wheniteratingovervalues,whydoestypeof(value)return"string"whenvalueisanumber?JavaScript(1个回答)关闭1年前。考虑以下代码:vararr=[111,222,333];for(variinar

javascript - JS : how to shift each letter in the given string N places down in the alphabet?

如何将给定字符串中的每个字母在字母表中向下移动N位?标点符号、空格和大小写应保持不变。例如,如果字符串为“ac”且num为2,则输出应为“ce”。我的代码有什么问题?它将字母转换为ASCII并添加给定数字,然后从ASCII转换为回字母。最后一行替换空格。functionCaesarCipher(str,num){str=str.toLowerCase();varresult='';varcharcode=0;for(i=0;i我得到了TypeError:charcode.fromCharCodeisnotafunction 最佳答案

javascript - Angular 2/4 : How to restrict access to Login Route if user is already logged in?

我有以下路线定义。exportconstRoutes=RouterModule.forChild([{path:'login',component:LoginComponent},{path:'protected',canActivate:[AuthGuardService],component:ProtectedComponent},{path:'home',component:HomeComponent,canActivate:[AuthGuardService],},]);我已成功实现AuthGuardService,如果用户未登录,它会限制对protected路由的访问。我想要

javascript - Angular .js : directive object in scope is always undefined

编辑:fork了@EliteOctagon的plunker,奇怪的是它在工作!无法理解为什么下面的代码不是。http://plnkr.co/edit/y8uvulA9RHQ1Y9mwzin1EDIT2:fork了之前的plunker并向Controller的逻辑添加了$timeout,它停止工作了!猜猜这真的是加载顺序。查看:http://plnkr.co/edit/ivmGQmEHTatNzBWhppyf我是Angular的新手,无法理解指令隔离范围。我需要创建一个指令来打印出在我的页面中,包含关于ViewController中的对象的信息。我试图做的是隔离指令范围并通过具有双向绑定

javascript - Angular : Variables in ng-model

我有一个循环ng-repeatName:{{data.name}}我希望$scope.age变成$scope.age_data.name。例如:$scope.age_Tan、$scope.age_Jim...所以我尝试了ng-model="age_{{data.name}}"但它出错了。如何解决? 最佳答案 执行此操作的“正确”方法是在Controller中执行此操作:$scope.ages={};然后在模板中:Name:{{data.name}}应该工作... 关于javascript

javascript - '错误 : Uncaught (in promise): No provider for Jsonp' (HTML/Javascript/Typescript/Angular2)

错误截图:.ts文件代码(SearchDisplay.component.ts):import{Component,OnInit}from'angular2/core';import{Router}from'angular2/router';import{Hero}from'./hero';import{HeroService}from'./hero.service';import{RouteConfig,ROUTER_DIRECTIVES}from'angular2/router';import{HeroesComponent}from'./heroes.component';imp

javascript - 没有任何 {} 的 for 循环

所以我正在阅读有关改组数组的内容。然后我遇到了thisscript:shuffle=function(o){//v1.0for(varj,x,i=o.length;i;j=parseInt(Math.random()*i),x=o[--i],o[i]=o[j],o[j]=x);returno;};当我仔细观察时,for根本没有任何{}!但它正在发挥作用,就像变魔术一样。我很好奇它是如何工作的。(还有一堆逗号。) 最佳答案 for()后面可以是任何语句;那可以是带花括号的东西,也可以是单个表达式,也可以是空表达式。for(...);等

javascript - JS : Filter object array for partial matches

是否可以过滤那些与搜索字符串匹配的对象?constarr=[{title:'Justanexample'},{title:'Anotherexam'},{title:'Somethingdifferent'}]我试过了arr.filter(x=>{returnx.title===searchStr});但这只会过滤完全匹配项,但我需要找到所有部分匹配项。letsearchStr='exam'应该给我两个对象(第一个和第二个),letsearchStr='examp'应该只给我一个对象作为结果。 最佳答案 根据您的问题,我假设您还想匹

正则表达式 : replacing the last dot for a comma

我有以下代码:varx="100.007"x=String(parseFloat(x).toFixed(2));returnx=>100.01这非常棒,正是我想要的效果。我只想要一个小小的补充,就像这样:varx="100,007"x.replace(",",".")x.replacex=String(parseFloat(x).toFixed(2));x.replace(".",",")returnx=>100,01但是,此代码将替换第一次出现的“,”,我想在其中捕获最后一个。任何帮助将不胜感激。 最佳答案 您可以使用正则表达式来

javascript - 正则表达式匹配 m : ss for input validation

我一直在努力创建一个RegEx来满足以下条件:分钟只有一个数字(0到9);秒只有两个数字(00到59);必须采用m:ss格式。到目前为止我有这个:^(?:([0]{0}?\d):)?([0-5]{1}?\d)$然而,例如00的情况似乎是通过了,但它不应该通过,因为它不是m:ss格式。 最佳答案 您的正则表达式-^(?:([0]{0}?\d):)?([0-5]{1}?\d)$-有一个0{0}?使引擎匹配0恰好零次(此标记被忽略)。它还具有冗余的{1}(因为[0-5]将匹配从0到5的数字恰好一次)。请注意,没有理由将单个字符放入字符类(