導航:首頁 > 編程語言 > javascript編程map

javascript編程map

發布時間:2022-04-13 10:21:17

1. 如何形象地解釋 javaScript 中 map,foreach,rece 間的區別

分別解釋:

map是指把一個集合中的內容映射為另外一個集合(一一映射)

foreEach是指遍歷一個集合

rece是指通過遍歷整個集合把一個集合歸約(歸納)為單個結果

map - rece是一種常見的數據流處理模型

舉例說明:某個游戲中有N個的戰斗單元的集合(如士兵,坦克,戰機等等)

現在通過map把戰鬥力單元的集合映射為一個戰鬥力集合

通過rece把戰鬥力集合歸約為一個總體戰鬥力結果,展示到屏幕的右上角上,表示現在玩家的整體戰鬥力

代碼如下:

varcombatPower=
units
.map(()=>unit.power)
.rece((memo,power)=>{memo+power},0);

combatPower現在就是玩家的整體戰鬥力

2. javascript 如何將Map集合轉換成二維數組

如果要合成二維數組可以試下擴展運算符結合 map

3. javascript模擬map輸出與去除重復項的方法

本文實例講述了javascript模擬map輸出與去除重復項的方法。分享給大家供大家參考。具體方法如下:
1.Javascriptmap輸出
function
Map(){
//
private
var
obj
=
{}
;//
空的對象容器,承裝鍵值對
//
put
方法
this.put
=
function(key
,
value){
obj[key]
=
value
;//
把鍵值對綁定到obj對象上
}
//
size
方法
獲得map容器的個數
this.size
=
function(){
var
count
=
0
;
for(var
attr
in
obj){
count++;
}
return
count
;
}
//
get
方法
根據key
取得value
this.get
=
function(key){
if(obj[key]
||
obj[key]
===
0
||
obj[key]
===
false){
return
obj[key];
}
else
{
return
null;
}
}
//remove
刪除方法
this.remove
=
function(key){
if(obj[key]
||
obj[key]
===
0
||
obj[key]
===
false){
delete
obj[key];
}
}
//
eachMap
變數map容器的方法
this.eachMap
=
function(fn){
for(var
attr
in
obj){
fn(attr,
obj[attr]);
}
}
}
//模擬java里的Map
var
m
=
new
Map();
m.put('01'
,
'abc');
m.put('02'
,
false)
;
m.put('03'
,
true);
m.put('04'
,
new
Date());
//alert(m.size());
//alert(m.get('02'));
//m.remove('03');
//alert(m.get('03'));
m.eachMap(function(key
,
value){
alert(key
+"
:"+
value);
});
2.去除map中重復項
var
arr
=
[2,1,2,10,2,3,5,5,1,10,13];//object
//js對象的特性:在js對象中key是永遠不會重復的
/*
var
obj
=
new
Object();
obj.name
=
'z3';
obj.age
=
20
;
//alert(obj.name);
obj.name
=
'w5';
alert(obj.name);
*/
//
1
把數組轉成一個js的對象
//
2
把數組中的值,變成js對象當中的key
//
3
把這個對象
再還原成數組
//
把數組轉成對象
function
toObject(arr){
var
obj
=
{}
;
//
私有的對象
var
j
;
for(var
i=0
,
j=
arr.length
;
i<j;
i++){
obj[arr[i]]
=
true
;
}
return
obj
;
}
//
把這個對象轉成數組
function
keys(obj){
var
arr
=
[]
;
//
私有對象
for(var
attr
in
obj){
if(obj.hasOwnProperty(attr)){//YUI底層代碼
arr.push(attr);
}
}
return
arr
;
}
//綜合的方法
去掉數組中的重復項
function
uniq(newarr){
return
keys(toObject(newarr));
}
alert(uniq(arr));
希望本文所述對大家的javascript程序設計有所幫助。

4. foreach和map的區別是什麼

foreach和map的3個不同點:

1、map速度比foreach快。

2、map會返回一個新數組,不對原數組產生影響,foreach不會產生新數組。

3、map因為返回數組所以可以鏈式操作,foreach不能。

foreach和map是Javascript常用到的指令。

Javascript產生背景:

JavaScript最初由Netscape的Brendan Eich設計,最初將其腳本語言命名為LiveScript,後來Netscape在與Sun合作之後將其改名為JavaScript。

JavaScript最初受Java啟發而開始設計的,目的之一就是「看上去像Java」。因此語法上有類似之處,一些名稱和命名規范也借自Java。

但JavaScript的主要設計原則源自Self和Scheme。JavaScript與Java名稱上的近似,是當時Netscape為了營銷考慮與Sun微系統達成協議的結果。微軟同時期也推出了JScript來迎戰JavaScript的腳本語言。

發展初期,JavaScript的標准並未確定,同期有Netscape的JavaScript,微軟的JScript和CEnvi的ScriptEase三足鼎立。為了互用性,Ecma國際(前身為歐洲計算機製造商協會)創建了ECMA-262標准(ECMAScript),兩者都屬於ECMAScript的實現。

盡管JavaScript作為給非程序人員的腳本語言,而非作為給程序人員的腳本語言來推廣和宣傳,但是JavaScript具有非常豐富的特性。

1997年,在ECMA(歐洲計算機製造商協會)的協調下,由Netscape、Sun、微軟、Borland組成的工作組確定統一標准:ECMA-262。完整的JavaScript實現包含三個部分:ECMAScript,文檔對象模型,瀏覽器對象模型。

JavaScript是甲骨文公司的注冊商標。Ecma國際以JavaScript為基礎制定了ECMAScript標准。JavaScript也可以用於其他場合,如伺服器端編程(Node.js)。

5. javascript中map集合的問題

回調的函數有一個參數,ajax的結果格式設置為json
success:function(result){
var ids = result["cardlds"];
var nos = result["cardNos"];
}

6. javascript怎麼遍歷map

var map = new HashMap();
map.put("a","1");
map.put("b","2");
遍歷:
var key = map.keySet();
for (var i in key){
alert(map.get(key[i]));

註:js 中使用map,要先導入一個HashMap.js文件
沒要求,引入這個文件之後,可以直接使用hashmap了

閱讀全文

與javascript編程map相關的資料

熱點內容
程序員看不懂怎麼辦 瀏覽:271
linux操作系統題 瀏覽:765
單片機無符號數加法 瀏覽:227
應用隱藏加密怎麼關閉 瀏覽:269
汽車空調的壓縮機電線有什麼用 瀏覽:429
電腦加密圖片如何取消加密 瀏覽:340
慧凈電子51單片機視頻 瀏覽:343
javamap賦值 瀏覽:165
什麼app可以玩掌機游戲 瀏覽:46
java簡單聊天室 瀏覽:462
通用汽車編程軟體 瀏覽:432
一級抗震框架梁箍筋加密區規定是多少 瀏覽:974
教你如何把安卓手機變成蘋果 瀏覽:11
app編譯分類 瀏覽:323
怎麼用伺服器的資源包 瀏覽:199
oa軟體手機登陸伺服器地址 瀏覽:289
androidrtp打包 瀏覽:723
信息被加密碼了怎麼辦 瀏覽:420
彈出光碟命令 瀏覽:517
kdj公式源碼分享 瀏覽:355