Object.keys()/Object.values()/Object.entries,将对象转换成某种数组
作者:互联网
Object.keys()
1.用法
Object.keys(参数)
参数可以为对象,数组,字符串
对象——返回可枚举属性的数组
数组——返回索引数组
字符串——返回索引数组
2.举例
返回可枚举属性组成的数组。
eg1:操作对象
let myself={
name:'ting',
age:18,
hobby:'basketball'
};
Object.keys(myself); //["name","age","hobby"]
Object.keys(myself).forEach(key=>myself[key]); //可以据此遍历出每一个属性对应的值
eg2:操作数组
let myArr=["English","Spanish","Italian"];
Object.keys(myArr); //["0","1","2"]
eg3:操作字符串
let str="I love Programming";
Object.keys(str); // ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17"]
Object.values()
1.用法
Object.key()是用来获取可枚举属性的,
对应的Object.values()用来获取这个可枚举属性对应的值。
Object.values(参数),返回一个数组,其元素是对象上找到的可枚举属性的值。
属性的顺序与通过手动循环所给出的顺序相同。
2.举例
eg1:返回属性值
let myself={
name:'ting',
age:18,
hobby:'basketball'
};
Object.values(myself); //["ting", 18, "basketball"]
eg2:排序相关
如果可枚举属性为数字或者可转换成数字的字符串组成
值就会按照转换之后顺序输出,
如果不可转换为数字,
就会按照书写的顺序输出
let sortValue={
1:'a',
3:'c',
2:'b',
}
Object.values(sortValue); //["a", "b", "c"]
eg3:遍历字符串
let str="name";
Object.value(str); //["n", "a", "m", "e"]
Object.entries
1.用法
Object.entries(参数);
参数为对象——将每一组键值对以数组的形式展示
参数为数组——将每一组值和下标以数组的形式展示
参数为字符串——将每一个元素及其下标以数组形式展示
返回一个数组,成员是参数对象本身所有可枚举属性的键值对数组。
eg1:参数为对象
let obj={
name:'dog',
age:3
}
Object.entries(obj); //[["name","dog"],["age",3]]
== 同样地,如果对象的键为数字形式时,也会排序后在输出,小前大后 ==
eg2:参数为数组
let arr=["my","name","is"];
Object.entries(arr); //[["0", "my"],["1", "name"],["2", "is"]]
eg3:数组中包含对象
let objArr=[{a:1},2,3];
Object.entries(objArr);// [[0,{a:1}],["1",2],["2",3]]
eg4:字符串
let str="my world!";
Object.entries(str); //[["0", "m"],["1", "y"],["2", " "],["3", "w"], ["4", "o"], ["5", "r"], ["6", "l"], ["7", "d"], ["8", "!"]]
eg5:将Object转化成Map
let myself={
name:'婷婷',
age:18,
}
new Map(Object.entries(myself)) //Map(2) {"name" => "冯婷婷", "age" => 18}
It`s never too late to do the right thing!我们的明天一定是越来越明朗的,加油!
久病成良医。 发布了10 篇原创文章 · 获赞 2 · 访问量 2728 私信 关注标签:myself,name,keys,Object,let,数组,entries,values 来源: https://blog.csdn.net/weixin_44593720/article/details/104000695