微信小程序的对象Object

    number : 数值 string :字符串 boolean:布尔值 object:对象 function:函数 array : 数组 date:日期 regexp:正则

里面并没有Map这个数据结构。不过object提供了键值对功能。 可以在一定程度上替代Java里面的Map对象。以下是常用的几种方法:

var o = {} //生成一个新的空对象

//生成一个新的非空对象
o = {
  string  : 1,  //object 的 key 可以是字符串
  const_var : 2,  //object 的 key 也可以是符合变量定义规则的标识符
  func      : {}, //object 的 value 可以是任何类型
};

//对象属性的读操作
console.log(1 === o[string]);
console.log(2 === o.const_var);

//对象属性的写操作
o[string]++;
o[string] += 10;
o.const_var++;
o.const_var += 10;

//对象属性的读操作
console.log(12 === o[string]);
console.log(13 === o.const_var);

//获取对象长度
var length = Object.keys(o).length;

//第一种检测对象中是否有这个属性
"string" in point; //这一个表达式最后返回的将会是true。
“const_var ” in o;//如果键不是字符串,需要把键变成字符串进行检查,否则会出现未定义错误
 "toString" in point; //由于toString是继承方法,所以也是返回true.
 "z" in point; //这一表达式最后返回false,因为point对象中没有z属性.
 
//第二种检测对象中是否包含这个属性
 o.hasOwnProperty("string"); //true:o有这一属性,
 o.hasOwnProperty("const_var "); //true;
o.hasOwnProperty("toString"); //false

//添加属性:
o.lastElement = 0;//这个属性会直接添加进对象o中

//删除
delete o[string];//删除string元素
delete o[0];//删除第1个元素

修改,可以直接

//遍历循环:
Object.entries(o).forEach(([key, value]) => console.log(`${key}: ${value}`));
for (var item in o){
          var key = item;
          var value = o[key];
          console.log("---->key:"+key+"---->value:"+value);
        }
经验分享 程序员 微信小程序 职场和发展