1 前言

由于项目需要,需要实现获取服务器不同网卡扫局域网中的某种类型设备,然而不同服务器的网卡个数是不相同的,从而需要动态增加未知属性来统计不同网卡扫到的设备个数。

2 代码

function nicClassify(json){

			var ret = {};
var jsonArr = json.split(",");
var setArr = uniqueArr(jsonArr);
var map={}; if(json == ""){
return ret;
} //init
ret.wireless = 0;
var k=0;
for(var j = 0; j < setArr.length;j++){
var data = setArr[j].toLowerCase();
if(!(data.indexOf("wireless") > -1 || data.indexOf("wifi") > -1 || data.indexOf("wlan") > -1 || data.indexOf("wi-fi") > -1)){
eval("ret.wire"+k+"=0");
eval("map['"+r(data)+"']='wire"+k+"'");
k++;
}
} for(var i = 0; i < jsonArr.length; i++){
var data = jsonArr[i].toLowerCase();
if(data.indexOf("wireless") > -1 || data.indexOf("wifi") > -1 || data.indexOf("wlan") > -1 || data.indexOf("wi-fi") > -1){
ret.wireless ++;
}else {
for(var kk = 0; kk < k; kk++){
if(eval("map['"+r(data)+"']='wire"+kk+"'")){
eval("ret.wire"+kk+"++");
}
} }
}
return ret;
}
function r(s){
return s.replaceAll(" ","_");
} function uniqueArr(array){
var n = [];
for(var i = 0; i < array.length; i++){
if (n.indexOf(array[i]) == -1)
n.push(array[i]);
}
return n;
} //Sample: jsonArrNICs ="wifi,wi-fi,a,a,b,b,b,wlan";
var nicRetMap = nicClassify(jsonArrNICs);

3 说明

一般来说,map.attr1 = val1 等价于map["attr1"] = val1,但是当attr1是带有 ’ ‘,’-‘ 等符号,不能直接使用’.‘操作符来访问。

  

最新文章

  1. ArcGIS10.2.1精简版、ArcGIS_Desktop10_Tutorial、破解文件等下载地址
  2. 关于Java中基本类型的长度相关基础知识
  3. 常用备份工具是mysql自带的mysqldump
  4. UITabBarButton 点击失效问题
  5. Android 动画详解
  6. css小技巧
  7. 关于 pgsql 数据库json几个函数用法的效率测试
  8. 去除Linq to Sql 查询结果中的空格
  9. MultiCardMenu
  10. sql常识-like
  11. Unity 打包后文件系统访问的一个小细节
  12. jQuery UI Datepicker&amp;Datetimepicker添加 时-分-秒 并且,判断
  13. Prerender.io - 预渲染架构,提高AngularJS SEO
  14. 微信小程序实现简易留言板
  15. linux内核数据结构之kfifo【转】
  16. git 提交的步骤
  17. C# 实现身份验证之WEB Service篇
  18. loadrunner&#160;场景设计-集合点设置
  19. [development][thrift] RPC框架 thrift
  20. Kali系列之multi/handler(渗透win7)

热门文章

  1. Deformable ConvNets
  2. spring @Transactional注解参数详解
  3. Problems you may meet
  4. 安装MACOS操作步骤详解
  5. 把svn上的mycelipse导到本地的eclipse中【原】
  6. docker部署安装
  7. ActiveMQ进阶配置
  8. POJ 2247 Humble Numbers
  9. Shell + crontab 实现日志压缩归档
  10. Js/Jquery 关闭 离开或刷新当前页面时提醒,和执行解绑取消提醒