js 如何把 object 转换为数组 array ?
使用 Object.entries()
作用:
把 object {key1: value1, key2: value2}
转化为数组array [['key1', 'value1'], ['key2', 'value2']]
使用 javascript 的例子:
const object1 = {
a: 'somestring',
b: 42
};
const result = Object.entries(object1);
console.log(result);
// output: [['a', 'somestring'], ['b', 42]]
JSXobject.entries().filter(filter-function) 用法
object.entries() 会返回一个数组[example]
filter 会将 [example] 里面的元素一一放入 filter-fuction 中,如果返回结果是 true,那么就将它放入新数组;如果返回结果是 false,该元素会被排除出新数组。
示例代码:
const numbers = [1, 2, 3, 4, 5, 6];
// 定义一个函数来检查一个数字是否大于 3
const isGreaterThanThree = (num) => num > 3;
// 使用 filter 方法来创建一个新数组,其中包含所有大于 3 的数字
const filteredNumbers = numbers.filter(isGreaterThanThree);
// 输出:[4, 5, 6]
console.log(filteredNumbers);
JSX.some 与 .filter 对比
.some
输出 true or false
const array = [1, 2, 3, 4, 5];
// 测试函数,检查一个数是否大于 3
const isGreaterThanThree = (number) => number > 3;
// 使用 .some() 方法检查数组中是否至少有一个元素大于 3
const result = array.some(isGreaterThanThree);
console.log(result); // 输出: true
JSX.filter
输出符合条件的数组 [filter-elements]
注意区分输出结果,.some
常常可以放入.filter
中作为判断条件。
试着举一个例子,说明object.entries
(),如果有key-value对,如下:
key: "75afdbac-4643-4afb-8f83-2780f861183e"
value: {messages: Array(2), chatTitle: "闲聊", startTime: "20:30"}
// 转换后应为这样的形态:[[key, value],...]
JSX所以,以上代码转化结果是:
[[
"75afdbac-4643-4afb-8f83-2780f861183e",
{"messages":[{"user":true,"content":"你好"},{"user":false,"content":"你好!我是豆豆"}],"chatTitle":"闲聊","startTime":"20:30"}
]]
JSX之所有有两个[]
号,因为假设有多个 objects。