js 对象转数组 顺序不打乱
时间: 2023-08-24 09:13:51 浏览: 48
可以使用 Object.keys() 方法获取对象的键,然后遍历键数组,依次将每个键对应的值添加到新的数组中,这样就能把对象转换为数组并保持顺序不变。以下是示例代码:
```javascript
const myObj = {
name: 'John',
age: 30,
city: 'New York'
};
const myArr = Object.keys(myObj).map(key => myObj[key]);
console.log(myArr); // [ 'John', 30, 'New York' ]
```
在上面的示例中,首先使用 Object.keys() 方法获取 myObj 对象的所有键,返回一个键名数组 ['name', 'age', 'city']。然后使用 map() 方法遍历键名数组,依次将每个键对应的值添加到 myArr 数组中。最终得到的 myArr 数组就是对象转换后的数组,顺序与原对象的属性顺序一致。
相关问题
js对象转数组对象
可以使用 Object.keys() 和 Array.prototype.map() 方法将一个 JavaScript 对象转换为数组对象。示例代码如下:
```javascript
const obj = {
name: 'Tom',
age: 20,
gender: 'male'
};
const arr = Object.keys(obj).map(key => ({ key, value: obj[key] }));
console.log(arr);
// Output: [{ key: 'name', value: 'Tom' }, { key: 'age', value: 20 }, { key: 'gender', value: 'male' }]
```
在上面的示例中,我们首先使用 Object.keys() 方法获取对象的所有属性名,然后使用 Array.prototype.map() 方法对每个属性名进行遍历,并将其转化为一个包含 `key` 和 `value` 属性的新对象。最终得到一个以对象形式存储的数组对象。
js对象转数组
可以使用 JavaScript 内置的 `Object.values()` 方法将对象的值转换为数组。示例代码:
```javascript
const myObject = { a: 1, b: 2, c: 3 };
const myArray = Object.values(myObject);
console.log(myArray); // [1, 2, 3]
```
如果需要将对象的键和值都转换为数组,则可以使用 `Object.entries()` 方法。示例代码:
```javascript
const myObject = { a: 1, b: 2, c: 3 };
const myArray = Object.entries(myObject);
console.log(myArray); // [['a', 1], ['b', 2], ['c', 3]]
```
另外,也可以使用循环遍历对象的属性并将其添加到数组中,如下所示:
```javascript
const myObject = { a: 1, b: 2, c: 3 };
const myArray = [];
for (let key in myObject) {
if (myObject.hasOwnProperty(key)) {
myArray.push(myObject[key]);
}
}
console.log(myArray); // [1, 2, 3]
```