最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用angularjs.foreach時return的問題解決

 更新時間:2018年09月30日 14:05:58   作者:鯨冬香  
這篇文章主要介紹了使用angularjs.foreach時return的問題解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

AngularJS中當我們需要遍歷某個數(shù)組的時候,我們會用到forEach語法。AngularJS中forEach的用法如下:

angular.forEach(array,function(obj,index){
doSomething();
})

array表示需要遍歷的數(shù)組,obj表示遍歷時的每個元素,index表示遍歷時元素的下標。index不是必須的參數(shù),可以不寫??梢愿鶕?jù)需要添加與否。

在寫一個比較數(shù)組對象中是否存在一個對象,存在返回true,失敗返回false.在return時,發(fā)現(xiàn)并沒有退出方法,自己測試了一下.

首先先寫一個數(shù)組對象,然后用angularjs的forEach方法循環(huán)比較,當存在名字為2的對象時,輸出true并返回,否則輸出false并返回.

self.test = function() {
  var testArray = [{name: 1},{name:2},{name:3}];
  angular.forEach(testArray, function(value, key){
  if (value.name == 2) {console.log(true + ' pass the test');return;}
  console.log(value.name + ' pass');
  });
  console.log(false + ' pass the test');
  return false;
 }();

剛開始認為,當找到value.name == 2的元素時,方法就會直接返回,所以應該只輸出1 pass,true pass the test然后程序結束,但輸出結果卻是這樣的:

結果發(fā)現(xiàn)在forEach里的return 居然只起到了for循環(huán)里的continue作用.

再把forEach循環(huán)的返回值和執(zhí)行函數(shù)的返回值打印出來:

forEach函數(shù)返回的是循環(huán)的數(shù)組,函數(shù)的返回值是false.說明在forEach里return 并沒有奏效,僅僅起到了continue的作用.
去網(wǎng)上搜了一下,并沒有原因說明..

解決方案:用一個臨時變量存儲結果,當條件成立相同時將結果改為true:

self.test = function() {
  var testArray = [{name: 1},{name:2},{name:3}];
  var result = false;
  angular.forEach(testArray, function(value, key){
  if (value.name == 2) {result = true;}
  });
  return result;
 };
 console.log(self.test());

這樣雖然能獲得正確的返回值,但卻無法阻止forEach的循環(huán),想來forEach應該是用在歷遍數(shù)組元素來做一些操作,像這樣的應該用for循環(huán)比較好一些.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Angular2里獲?。╥nput file)上傳文件的內容的方法

    Angular2里獲?。╥nput file)上傳文件的內容的方法

    這篇文章主要介紹了Angular2里獲?。╥nput file)上傳文件的內容的方法,非常具有實用價值,需要的朋友可以參考下
    2017-09-09
  • 在AngularJS應用中實現(xiàn)一些動畫效果的代碼

    在AngularJS應用中實現(xiàn)一些動畫效果的代碼

    這篇文章主要介紹了在AngularJS應用中實現(xiàn)一些動畫效果的代碼,AngularJS是一款熱門的JavaScript庫,需要的朋友可以參考下
    2015-06-06
  • AngularJS使用攔截器實現(xiàn)的loading功能完整實例

    AngularJS使用攔截器實現(xiàn)的loading功能完整實例

    這篇文章主要介紹了AngularJS使用攔截器實現(xiàn)的loading功能,結合完整實例形式分析了AngularJS攔截器的設置、調用及l(fā)oading功能實現(xiàn)技巧,需要的朋友可以參考下
    2017-05-05
  • angularJS實現(xiàn)不同視圖同步刷新詳解

    angularJS實現(xiàn)不同視圖同步刷新詳解

    今天小編就為大家分享一篇angularJS實現(xiàn)不同視圖同步刷新詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • angular學習之動態(tài)創(chuàng)建表單的方法

    angular學習之動態(tài)創(chuàng)建表單的方法

    這篇文章主要介紹了angular學習之動態(tài)創(chuàng)建表單的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 實踐中學習AngularJS表單

    實踐中學習AngularJS表單

    表單是最常用的一種組建。在Angular.js中,其實并沒有單獨的為表單添加多少特殊功能。但是,利用Angular.js框架本身的特點,可以更友好的呈現(xiàn)表單。下面將介紹幾種常用的功能在Angular中是如何巧妙實現(xiàn)的
    2016-03-03
  • angular2 組件之間通過service互相傳遞的實例

    angular2 組件之間通過service互相傳遞的實例

    今天小編就為大家分享一篇angular2 組件之間通過service互相傳遞的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • angularjs性能優(yōu)化的方法

    angularjs性能優(yōu)化的方法

    這篇文章主要介紹了angularjs性能優(yōu)化的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • angular select 默認值設置方法

    angular select 默認值設置方法

    下面小編就為大家?guī)硪黄猘ngular select 默認值設置方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • AngularJS解決ng界面長表達式(ui-set)的方法分析

    AngularJS解決ng界面長表達式(ui-set)的方法分析

    這篇文章主要介紹了AngularJS解決ng界面長表達式(ui-set)的方法,通過具體問題的分析并結合實例形式給出了AngularJS長表達式的相關使用技巧,需要的朋友可以參考下
    2016-11-11

最新評論

库伦旗| 万载县| 五台县| 新昌县| 新密市| 通辽市| 乐东| 黔南| 萨迦县| 临沂市| 东丰县| 高尔夫| 临猗县| 类乌齐县| 玉门市| 邯郸市| 吉木乃县| 西和县| 白河县| 揭东县| 兴和县| 苏尼特右旗| 宁武县| 九寨沟县| 利川市| 池州市| 交城县| 武汉市| 乌恰县| 桐柏县| 泾川县| 方正县| 咸宁市| 罗甸县| 牙克石市| 江口县| 西吉县| 曲阜市| 台南县| 瑞昌市| 新密市|