
Objectkeys()
Objectkeys 返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。
例如:
let obj = {
name: 'haha',
age: 20,
showName: function () {}
}
Objectkeys(obj) //['name','age','showName']
处理数组时,返回数组各元素的索引值:
let arr = ['a', 'b', 'c'];
Objectkeys(arr); // ['0', '1', '2']
let brr = [1, 3, 4];
Objectkeys(brr); // ['0', '1', '2']
可自动排序:
let arr = { 100: 'a', 2: 'b', 7: 'c' };
consolelog(Objectkeys(arr)); // console: ['2', '7', '100']
组合用法:
let obj = {
name: 'haha',
age: 20,
}
Objectkeys(obj)map((val, index)=>{
obj[val] // 可以针对obj的不同属性做不同处理
})
Objectvalues()
Objectvalues()方法返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用forin循环的顺序相同 ( 区别在于 for-in 循环枚举原型链中的属性 )。
例如:
let obj = {
name: 'haha',
age: 20,
showName: function () {}
}
Objectvalues(obj) //['haha','20', f]
let brr = [1, 3, 4];
Objectvalues(brr); // [1, 3, 4]
排序:
let an_obj = { 100: 'a', 2: 'b', 7: 'c' };
consolelog(Objectvalues(an_obj)); // ['b', 'c', 'a']
字符串:
consolelog(Objectvalues('haha')); // ['h', 'a', 'h', 'a']
Objectentries()
Objectentries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 forin 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环也枚举原型链中的属性)。
const obj = { foo: 'bar', baz: 42 };
consolelog(Objectentries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]
const anObj = { 100: 'a', 2: 'b', 7: 'c' };
consolelog(Objectentries(anObj)); // [ ['2', 'b'], ['7', 'c'], ['100', 'a'] ]
非对象会被强制转为对象:
consolelog(Objectentries('foo')); // [ ['0', 'f'], ['1', 'o'], ['2', 'o'] ]
更优雅的遍历对象键值:
const obj = { a: 5, b: 7, c: 9 };
for (const [key, value] of Objectentries(obj)) {
consolelog(`${key} ${value}`); // "a 5", "b 7", "c 9"
}
// 或者
Objectentries(obj)forEach(([key, value]) => {
consolelog(`${key} ${value}`); // "a 5", "b 7", "c 9"
});
ObjectfromEntries()
ObjectfromEntries() 把键值对列表转换为一个对象。改方法为ES10方法, Chrome不支持
const arr = [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ];
const obj = ObjectfromEntries(arr);
consolelog(obj); // { 0: "a", 1: "b", 2: "c" }
以上就是关于js对象 *** 作——多条件筛选全部的内容,包括:js对象 *** 作——多条件筛选、JS新增对象Map、Set、js 中判断字典中是否有key等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)