簡體   English   中英

將 Object 轉換為數組返回未定義

[英]Convert Object to Array returns Undefined

這是我正在嘗試轉換為數組的 object:

{ 1: {..}, 2: {..}, 3: {..}, 4: {..}, 5: {..}}

這是我用來將 Object 轉換為數組的 function:

const convertObjectToArray = (object) => {
  const array = [];

  if (object) {
    Object.keys(object).forEach((key) => {
      array.push({[key]: object[key]});
    })
    console.log('object inside function', object);
    console.log('array inside function', array);
    return array;
  } else {
    return [];
  }
}

這里是渲染方法:

class PostList extends React.Component {
  render() {
    const { postList } = this.props;

    const array = convertObjectToArray(postList);

    console.log('postList', postList);
    console.log('array', array);

    return (
      <div>
        {array.map(({ id, ...otherCollectionProps }) => {
          return (
            <Post key={id} {...otherCollectionProps} />
          );
        })}
      </div>
    );
  }
};

這里的問題是我收到“無法讀取未定義的屬性'map'”的錯誤,當在控制台內我用值記錄數組時 - 所以我不明白我是如何獲得未定義值的

這些是我登錄到控制台的對象/數組我嘗試過以下這些其他問題:1. Object 到數組返回未定義2. 映射 Object 以將 ZA8CFDE6331BD59EB2AC966F8911ZB4 轉換為數組

但它們不足以解決這個問題

提前感謝您的建議!

嘗試使用返回對象值數組的Object.values

 const object = { 1: { a: 'a'}, 2: { b: 'b'}, 3: { c: 'c'} } const convertObjectToArray = Object.values; console.log(convertObjectToArray(object));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM