TypeScript之Map的遍历
发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,let $cell : BeeCreateVo = null; let $find : BeeCreateVo = null; this._hash_map.forEach
let $cell : BeeCreateVo = null; let $find : BeeCreateVo = null; this._hash_map.forEach( ( $arr : Array , $key : TY_SoldierContainer , $map : any ) : void => { if( $arr && $arr.length > 0 ){ for( let $i : number = 0 , $j : number = $arr.length ; $i < $j ; $i ++ ){ $cell = $arr[$i]; if( $cell.soldier_id == $id ){ $find = $cell; break; } } } } );
PS :
$arr : 既是Map的value
$key : 既是Map的key
注意 forEach里面不能return , 所以 :
public getSoliderById( $id : number , $isDeepCopy : boolean = false ) : BeeCreateVo{ let $cell : BeeCreateVo = null; let $find : BeeCreateVo = null; this._hash_map.forEach( ( $arr : Array , $key : TY_SoldierContainer , $map : any ) : void => { if( $arr && $arr.length > 0 ){ for( let $i : number = 0 , $j : number = $arr.length ; $i < $j ; $i ++ ){ $cell = $arr[$i]; if( $cell.soldier_id == $id ){ $find = $cell; break; } } } } ); if( $find ){ if( !$isDeepCopy ){ return $find; }else{ return { id : $find.id, soldier_id : $find.soldier_id, soldier_num : $find.soldier_num, soldier_used_num : $find.soldier_used_num, technology_level : $find.technology_level, time_out : $find.time_out, status_code : $find.time_out } } } return null; }