精华内容
下载资源
问答
  • 闲来无事,做JavaScript练习题,结果因为Java语言使用的时间久了,就像强迫使用Java的逻辑去写JavaScript代码。然而,JavaScript却没有HashMap,瞬间感觉Java不愧是高级语言。 为了成全自己的强迫症,简单实现...
    闲来无事,做个JavaScript练习题,结果因为Java语言使用的时间久了,就像强迫使用Java的逻辑去写JavaScript代码。然而,JavaScript却没有HashMap,瞬间感觉Java不愧是高级语言。
    为了成全自己的强迫症,简单实现个Map用着嗨一下。
    

    废话就不多说了,贴出来我的代码,大家给指导指导。

    /**
         * 自定义键值对字典对象
         * @constructor
         */
        function Dictionary() {
            /**
             * 键值对的键列表,存储键元素
             * @type {Array}
             */
            var keys = new Array();
            /**
             * 键值对的值列表,存储值元素
             * @type {Array}
             */
            var values = new Array();
    
            /**
             * 为键值对添加一个元素
             * @param key 元素键(具有唯一性)
             * @param value 元素的值
             */
            this.put = function (key, value) {
                if (contains(key)) { // 已存在键为key的元素
                    var index = this.indexOfKey(key);
                    values[index] = value; // 为对应的值重新赋值
                } else { // 不存在键为key的元素,需要为键值对添加新的元素
                    keys.push(key); // 添加key到键列表的末尾
                    values.push(value); // 添加value到值列表的末尾
                }
            };
    
            /**
             * 获取key对应的value
             * @param key
             * @returns {*} 返回value值,查不到返回null
             */
            this.get = function (key) {
                if (contains(key)) { // 存在键为key的元素
                    var index = this.indexOfKey(key);
                    return values[index]; // 返回key对应的value
                } else {
                    return null;
                }
            };
    
            /**
             * 获取key数组
             * @returns {Array}
             */
            this.getKeyArray = function () {
                return keys;
            };
    
            /**
             * 获取vakue数组
             * @returns {Array}
             */
            this.getValueArray = function () {
                return values;
            };
    
            /**
             * 返回键值对的长度
             * @returns {Number}
             */
            this.size = function () {
                return keys.length;
            };
    
            /**
             * 检查是否包含某个key的元素
             * @param key
             * @returns {boolean} 包含返回true
             */
            this.contains = function (key) {
                return (keys.indexOf(key) > -1);
            };
    
            /**
             * 获取key列表对应元素的下表
             * @param key key
             * @returns {number} 下标位置,查不到返回-1
             */
            this.indexOfKey = function (key) {
                return keys.indexOf(key);
            };
    
        }

    以上,本人技术 有限,忘大神路过给指点一二。谢谢!

    展开全文
  • js多维数组的for定义 vararray=newArray(); for(vari=0;i<10;i++){ array[i]=newArray(); for(varj=0;j<2;j++){ arr...
    1.  js多维数组的for定义

    var array =new Array();
    for(var i =0; i <10; i++){
        array[i] =new Array();
        for(var j =0; j <2; j++){
            array[i][j] =i *j;
        }
    }

     

     

      2. js自定义键值数组的定义

        遵循原则:内容带键值用花括号,不带键值用方括号

    //带键值的二维数组定义
    var array =[
        {'a': 1, 'b': 2},
        {'c', 3, 'd': 4}
    ]

     

     

    转载于:https://my.oschina.net/u/2487410/blog/611759

    展开全文
  • JavaScript中用数组实现键值对

    千次阅读 2018-10-29 23:50:00
    //自定义字典对象 function Dictionary(){ this.data = new Array(); this.put = function(key,value){ this.data[key] = value; }; this.get = function(key){ return this.data[key]; }; this.remove ...
    <script type="text/javascript" language="javascript">
    //自定义字典对象
    function Dictionary(){
     this.data = new Array();
     
     this.put = function(key,value){
      this.data[key] = value;
     };
    
     this.get = function(key){
      return this.data[key];
     };
    
     this.remove = function(key){
      this.data[key] = null;
     };
     
     this.isEmpty = function(){
      return this.data.length == 0;
     };
    
     this.size = function(){
      return this.data.length;
     };
    }
    
    //使用 例子
    var d = new Dictionary();
    d.put("CN", "China");
    d.put("US", "America");
    document.write(d.get("CN"));
    </script>

     

    转载于:https://my.oschina.net/u/1266171/blog/2254309

    展开全文
  • /*二维数组按指定的键值排序*/ function array_sort($arr, $keys, $type = 'desc') { $keysvalue = $new_array = array(); foreach ($arr as $k => $v) { $keysvalue[$k] = $v[$keys]; } if ($type == 'asc') {...
  • 很多人都用过List数组对吧,我们经常利用它来存储一些常见的数据类型或引用类型,比如List 、List 等等 最近在做LeetCode题目时,遇到了一些数据类型为二维坐标 形式的数据,比如(0,1)、(3,4)这种数据,或者是...

    很多人都用过List数组对吧,我们经常利用它来存储一些常见的数据类型或引用类型,比如List 、List 等等
    最近在做LeetCode题目时,遇到了一些数据类型为二维坐标
    形式的数据,比如(0,1)、(3,4)这种数据,或者是键值对类型的数据(key,value)。一般的我们会用map数据结构来存储。那么能不能List来存储这些数据呢?毕竟list是对付顺序的好帮手!

    核心代码

     List<Map.Entry<Integer,Integer>> list=new ArrayList<Map.Entry<Integer,Integer>>(map.entrySet());

    废话不多说,来看看实例

    经典题目:寻找数组的前K个高频元素

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    public class LeetCode347前k个高频元素_哈希表内部排序 {
    	 public static void main(String[] args) {
    		  int[] nums= {1,5,2,4,8,7,5,11,45,5,2,14,2,5,8,11,8,5,4};
    		  int k=5;
    		  int[] ans=topKFrequent(nums, k);
    		  System.out.println(Arrays.toString(ans));
    	}
    	 public static int[] topKFrequent(int[] nums, int k) {
    	        int[] ans=new int[k];
    	        Map<Integer,Integer> map=new HashMap();
    	        for(int i=0;i<nums.length;++i){            
    	            map.put(nums[i],map.getOrDefault(nums[i],0)+1);
    	            
    	        }
    	        //        List数组存储键值对类型数据
    	        List<Map.Entry<Integer,Integer>> list=new ArrayList<Map.Entry<Integer,Integer>>(map.entrySet());
    	        //	对list进行排序,重写comparator接口的compare方法
    	        Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
    	           @Override
    	           public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2) {
    	      //     按value从大到小排序,若从小到大排序可改为o1.getValue()-o2.getValue();
    	               return o2.getValue()-o1.getValue();
    	     
    	           }
    	       });
    	        for(int i=0;i<k;++i){
               		 ans[i]=list.get(i).getKey();
            	}
           		return ans;
           	}
    }

    输出显示:
    [5, 2, 8, 4, 11]

    展开全文
  • js中自定义对象新增键值对的方法

    万次阅读 2018-07-16 14:15:08
    var obj = { id = 1, name = 'zs' }; obj['age'] = '13'; // 新增键值对
  • package test; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Set; @SuppressWarnings("...public class FileTe...
  • SHELL : 数组模拟键值对

    千次阅读 2014-01-24 20:54:20
    key_value.sh #!/bin/sh ############################################################################### # input : # target key # array of key-value pairs # output : ...# key_value_
  • js实现对象数组内依据键值自定义求和计算 考虑这样的业务背景: 通过接口获取某公司当月所有员工的每日考勤数据如下, [ {id:1,score:2,date:"2019.06.19"} ,{id:1,score:5,date:"2019.06.20"} ,{id:1,score:7.6,date:...
  • 有这样一种情况,在得到一个数组后,只需要数组中的几个字段,可是又觉得定义一个数组的写法很不美观,且很麻烦,例如: 某个数组是这样的 $in=array( 'ringname'=>'dog', 'ringlogo'=>'./psg.png', 'slim' =>'2'...
  • usort()函数使用用户自定义比较函数对数组中元素进行排序
  • *判断一个数组中是否有的键值为空,包括多维判空 * @param $arr * @return bool |true:为空 false:不为空 */ function array_null($arr){ if(is_array($arr)){ foreach($arr as $k=>$v){ if($v&&!...
  • js中自定义键值对形式的Map结构

    千次阅读 2015-04-07 09:57:47
    js中模仿java中的Map结构,用以存储键值对 /** * 为Array对象添加remove方法,删除制定值得元素 * @param {String} 数组元素值 */ Array.prototype.remove = function(s) { for (var i = 0; i ; i++) { if (s...
  • 自定义键值数组

    2012-08-13 13:09:00
    //数组自定义键(key)的数组 key=>value //创建数组 $userName = array('lily','milly','amy'); print_r($userName); echo ' '; $userName1 = array('li'=>'lily','milly','amy'); print_r($userName1); ...
  • //访问自定义键值的二维数组 $products = array( array('name'=>'apple','number'=>3,'price'=>23.4), array('name'=>'orange','number'=>4,'price'=>45.3), array('name'=>'biscuit','number'=>5,'price'=>...
  • 内容要点—— 1、什么是数组 2、自定义数组 3、数组中的数组 ...且下标对应的是一个键(key),每个键对应一个值。 (1)创建数组——采用new关键字 a、array()函数 该函数是索引函数初始化 $userNa
  • 首先 在做项目的时候有时候我们在数据图中的数据很多...我们首先要定义一个数组和空对象,空数组用来装我们的对象,对象就是用来接收我们所需的键值对了,上代码 //创建一个数组 let res = [] //创建一个对象
  • 1. 数组出现的理由 问题1:如何求解从键盘输入的n数据的和? 大家都知道,针对这问题,可以通过循环来实现。 #include&amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt; int main() { int n,sum=...
  • {"0":"使用Echarts根据数据加载一个饼状图"} {"1":"点击哪个饼状图,弹出此饼状图的详细信息"} ["遇到的问题"] {"0":"点击哪个饼状图,我需要这个饼状图的信息,比如ID,我需要这个参数去请求该饼状图的...
  • 列对应是条数据,并设置对应key值,使用map及reduce函数,具体用法自行百度学习!
  • JS,jQuery,给数组添加不同的...已知第一个值的键是不同的,第二个键是sourse // demo没有服务器,就手动写一下原始数组 var arr = [ ["imsi:123456666", "备注2021年1月7日18:01:11"], ["imsi:23344343243",
  • 主要介绍了php自定义排序uasort函数,结合实例形式分析了php实现二维数组按指定键值排序的相关操作技巧,需要的朋友可以参考下
  • php二维数组自定义键为维下标

    千次阅读 2019-08-28 15:51:59
    目的: 处理二维数组,以元素值的某个下标的值 作为二维数组的下标 ...array_column ( array $input , mixed $column_key [, mixed $index_...array_column() 返回input数组键值为column_key的列, 如果指定了可选参数i...
  • } 下面是使用自定义类型作为unordered_map的key的方法之一,在这个情境中,我们需要将点对象(x,y)作为键值,让其对应一个整型值,为此,需要为自定义点类型实现两个方法,一是给出判断不同点对象相等的标准,二...
  • 替换数组指定键名、键值

    千次阅读 2019-03-21 13:04:45
    $param = $this->request->param(); json_decode(str_replace("id","s_t_id",json_encode($param)),true);

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,553
精华内容 29,821
关键字:

自定义一个键值对的数组