1.JS代码如何获取map的key
2.如何写一个js的hashmap
3.JS Map å List çç®åå®ç°ä»£ç
4.js数组map遍历
5.js 中的***.map是什么意思
JS代码如何获取map的key
前端开发中,我们常使用对象来保存字典值,用于列表字段翻译或加载下拉框。有时我们需要根据字典值的通道指标公式源码value获取对应的key。网上相关文章较少,这里记录一下我的实践。
假设我们有两个类型的字典值,分别保存在paramsMap对象中:
paramsMap: { orderType: { '0': '咨询', '1': '投诉', '2': '举报', '3': '建议', '4': '求助', '5': '表扬', }, subjectType: { 'LB': '劳保', 'XW': '消委', 'GA': '公安', 'GT': '国土', 'CG': '城管', 'GJJ': '公积金', 'ZH': '综合', },}
根据key获取value的函数如下:
getParamValue(paramType, code) { if (!Object.prototype.hasOwnProperty.call(this.paramsMap, paramType)) { return '参数类型错误'; } return this.paramsMap[paramType][code];}
调用时指定参数类型:this.getParamValue('orderType', '1');
获取value对应的key的函数如下:
getParamCode(paramType, value, compare = (a, b) = a === b) { if (!Object.prototype.hasOwnProperty.call(this.paramsMap, paramType)) { return '参数类型错误'; } return Object.keys(this.paramsMap[paramType]).find(k = compare(this.paramsMap[paramType][k], value))}
调用时:this.getParamCode('subjectType', '公安');
以上仅为个人经验分享,希望对大家有所帮助,也期待更多交流和支持。
如何写一个js的inethinkcms 源码hashmap
使用JS写个Map很容易,但是想要HashMap估计有困难.不知道你是否只是想要个Map还是指定HashMap.以下代码是一个普通的Map:
function Map() {
var struct = function(key, value) {
this.key = key;
this.value = value;
}
var put = function(key, value){
for (var i = 0; i < this.arr.length; i++) {
if ( this.arr[i].key === key ) {
this.arr[i].value = value;
return;
}
}
this.arr[this.arr.length] = new struct(key, value);
}
var get = function(key) {
for (var i = 0; i < this.arr.length; i++) {
if ( this.arr[i].key === key ) {
return this.arr[i].value;
}
}
return null;
}
var remove = function(key) {
var v;
for (var i = 0; i < this.arr.length; i++) {
v = this.arr.pop();
if ( v.key === key ) {
continue;
}
this.arr.unshift(v);
}
}
var size = function() {
return this.arr.length;
}
var isEmpty = function() {
return this.arr.length <= 0;
}
this.arr = new Array();
this.get = get;
this.put = put;
this.remove = remove;
this.size = size;
this.isEmpty = isEmpty;
}
JS Map å List çç®åå®ç°ä»£ç
æ¬ç¯æç« æ¯å¯¹å¨JSä¸MapåListçç®åå®ç°ä»£ç è¿è¡äºè¯¦ç»çåæä»ç» éè¦çæååèä¸ å¤å¶ä»£ç 代ç å¦ä¸: /* * MAP对象 å®ç°MAPåè½ * * æ¥å£ * size() è·åMAPå ç´ ä¸ªæ° * isEmpty() å¤æMAPæ¯å¦ä¸ºç©º * clear() å é¤MAPææå ç´ * put(key value) åMAPä¸å¢å å ç´ ï¼key value) * remove(key) å é¤æå®KEYçå ç´ æåè¿åTrue 失败è¿åFalse * get(key) è·åæå®KEYçå ç´ å¼VALUE 失败è¿åNULL * element(index) è·åæå®ç´¢å¼çå ç´ ï¼ä½¿ç¨element key element valueè·åKEYåVALUEï¼ å¤±è´¥è¿åNULL * containsKey(key) å¤æMAPä¸æ¯å¦å«ææå®KEYçå ç´ * containsValue(value) å¤æMAPä¸æ¯å¦å«ææå®VALUEçå ç´ * values() è·åMAPä¸ææVALUEçæ°ç»ï¼ARRAYï¼ * keys() è·åMAPä¸ææKEYçæ°ç»ï¼ARRAYï¼ * * ä¾å * var map = new Map(); * * map put("key" "value"); * var val = map get("key") * â¦â¦ * */ function Map() { this elements = new Array(); //è·åMAPå ç´ ä¸ªæ° this size = function() { return this elements length; }; //å¤æMAPæ¯å¦ä¸ºç©º this isEmpty = function() { return (this elements length < ); }; //å é¤MAPææå ç´ this clear = function() { this elements = new Array(); }; //åMAPä¸å¢å å ç´ ï¼key value) this put = function(_key _value) { this elements push( { key : _key value : _value }); }; //å é¤æå®KEYçå ç´ æåè¿åTrue 失败è¿åFalse this remove = function(_key) { var bln = false; try { for (i = ; i < this elements length; i++) { if (this elements[i] key == _key) { this elements splice(i ); return true; } } } catch (e) { bln = false; } return bln; }; //è·åæå®KEYçå ç´ å¼VALUE 失败è¿åNULL this get = function(_key) { try { for (i = ; i < this elements length; i++) { if (this elements[i] key == _key) { return this elements[i] value; } } } catch (e) { return null; } }; //è·åæå®ç´¢å¼çå ç´ ï¼ä½¿ç¨element key element valueè·åKEYåVALUEï¼ å¤±è´¥è¿åNULL this element = function(_index) { if (_index < || _index >= this elements length) { return null; } return this elements[_index]; }; //å¤æMAPä¸æ¯å¦å«ææå®KEYçå ç´ this containsKey = function(_key) { var bln = false; try { for (i = ; i < this elements length; i++) { if (this elements[i] key == _key) { bln = true; } } } catch (e) { bln = false; } return bln; }; //å¤æMAPä¸æ¯å¦å«ææå®VALUEçå ç´ this containsValue = function(_value) { var bln = false; try { for (i = ; i < this elements length; i++) { if (this elements[i] value == _value) { bln = true; } } } catch (e) { bln = false; } return bln; }; //è·åMAPä¸ææVALUEçæ°ç»ï¼ARRAYï¼ this values = function() { var arr = new Array(); for (i = ; i < this elements length; i++) { arr push(this elements[i] value); } return arr; }; //è·åMAPä¸ææKEYçæ°ç»ï¼ARRAYï¼ this keys = function() { var arr = new Array(); for (i = ; i < this elements length; i++) { arr push(this elements[i] key); } return arr; }; } å¤å¶ä»£ç 代ç å¦ä¸: /** * jså®ç°list * */ function List() { this value = []; /* æ·»å */ this add = function(obj) { return this value push(obj); }; /* å¤§å° */ this size = function() { return this value length; }; /* è¿åæå®ç´¢å¼çå¼ */ this get = function(index) { return this value[index]; }; /* å é¤æå®ç´¢å¼çå¼ */ this remove = function(index) { this value splice(index ); return this value; }; /* å é¤å ¨é¨å¼ */ this removeAll = function() { return this value = []; }; /* æ¯å¦å å«æ个对象 */ this constains = function(obj) { for ( var i in this value) { if (obj == this value[i]) { return true; } else { continue; } } return false; }; /* æ¯å¦å å«æ个对象 */ this getAll = function() { var allInfos = ; for ( var i in this value) { if(i != (value length )){ allInfos += this value[i]+" "; }else{ allInfos += this value[i]; } } alert(allInfos); return allInfos += this value[i]+" ";; }; } lishixinzhi/Article/program/Java/JSP//
js数组map遍历
JavaScript中的数组`map`方法,能对数组元素进行处理并返回新的数组,而不影响原数组。原本通过循环逐个修改数组元素的方式,现在更推荐使用`map`方法。例如:
javascript
var list = [1,remotedll 源码 2, 3];
for(var i in list){
list[i].type = 1;
}
优化为:
javascript
var newList = list.map(item => {
item.type = 1;
return item;
})
或:
javascript
list.map(item => {
item.type = 1;
})
var newList = list;
当数组为数字时:
javascript
var arr = [4, 9, , ];
var brr = arr.map(val => val+1);
brr; // [5, , , ]
arr; // [4, 9, , ]
当数组为对象时:
javascript
var arr = [{ name:'小明'},{ name:'小红'}];
var brr = arr.map(val => val.sex = 1);
var crr = arr.map(val => { val.age = ;return val});
输出结果为:
javascript
arr; // [{ name:'小明', sex: 1, age: },{ name:'小红', sex: 1, age: }]
brr; // [1, 1]
crr; // [{ name:'小明', sex: 1, age: },{ name:'小红', sex: 1, age: }]
值得注意的是,修改数组元素时,如果修改的是数组对象引用,则改变的不仅是新数组,原数组也会同步修改。树的.netcore 源码最佳种植时间是十年前,其次是现在,同样地,及时利用`map`方法处理数组,可以提高代码效率和可读性。
js 中的qperf 源码***.map是什么意思
在JavaScript中,".map" 是一个数组方法,它允许你对数组中的每个元素执行一个操作,并将结果存储在一个新的数组中。这个操作通常涉及到修改或计算每个元素,但关键的一点是,原始数组并不会被改变,map返回的是一个全新的数组。
举个例子,如果你有一个包含整数的数组,如 `var array = [3,5,7,9]`,你可以使用`.map` 方法将每个元素加1,代码如下:
javascript
var result = array.map(function(item, index, array){
return item + 1;
});
执行这个`.map` 后,`result` 会是一个新数组,内容是 `[4, 6, 8, ]`。然而,原始的 `array` 保持不变,其值仍然是 `[3, 5, 7, 9]`。`.map` 方法非常适合那些需要对数组进行批量操作但又不想影响原始数据的情况。它提供了一种简洁、直观的方式来处理数组元素,而不会改变原数组的状态。
2024-11-26 00:41
2024-11-26 00:17
2024-11-26 00:12
2024-11-25 23:21
2024-11-25 23:07
2024-11-25 22:56