javascript - 在 React 中动态选择一个 json 键值对

标签 javascript json reactjs

我有一个像这样的 json:

{
    "index": 1,
    "ln": "27953",
    "name": "Product 1",
    "availability": {
        "day0726": "G",
        "day0727": "G",
        "day0728": "G",
    }
}

我想根据日期动态显示可用性。例如,“day0726”是 7 月 26 日。我如何使用以下代码片段显示正确日期的值:

import React from "react"
import Product from "./Product"

const Productlist = ({ prodlist }) => {
    return (
        <div>
            {
                prodlist.map((item, i) => {
                    return (
                        <Product
                            key={prodlist[i].index}
                            name={prodlist[i].name}
                            ln={prodlist[i].ln}
                            availability={*this is I want to change dynamically*}
                        />
                    )
                })
            }
        </div>
    )
}

export default Productlist 

能不能做还是思路完全错误?

提前致谢!

编辑:如果需要,我可以将日期键格式更改为任何格式。

最佳答案

您首先必须创建一个您拥有的格式的日期,然后您可以在组件中使用它在某个键处获取产品availability:

let date = new Date();
function str_pad(n) {
    return String("00" + n).slice(-2);
}
date = "day"+(str_pad(date.getMonth()+1))+str_pad(date.getDate());

console.log(date)

import React from "react"
import Product from "./Product"

let date = new Date();
function str_pad(n) {
  return String("00" + n).slice(-2);
}
date = "day"+(str_pad(date.getMonth()+1))+str_pad(date.getDate());


const Productlist = ({ prodlist }) => {
    return (
        <div>
            {
                prodlist.map((item, i) => {
                    return (
                        <Product
                            key={prodlist[i].index}
                            name={prodlist[i].name}
                            ln={prodlist[i].ln}
                            availability={prodlist[i].availability[date]}
                        />
                    )
                })
            }
        </div>
    )
}

export default Productlist 

关于javascript - 在 React 中动态选择一个 json 键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52138456/

相关文章:

javascript - 在 jQuery 的实时事件 mouseOver/mouseOut 中使用 setInterval

javascript - JQuery:查找以任何一个指定字符串开头的所有 ID

java - 由于有效负载内容长度,AJAX POST 请求失败

javascript - 在提供 css 属性时,内联未在 Material ui 中定义

javascript - 从 Javascript/jQuery 远程服务器调用 Coldfusion 函数

javascript - 表内按钮的 ZeroClipboard/ng-clip 悬停状态问题

ios - 如何使用 Swift JSONDecoder 解码可以是数组或单个对象的 JSON 属性?

python - 如何在 Python 中将数字列表转换为 jsonarray

javascript - 每次重新渲染时都会计算 useState 和 useRef 初始值

javascript - 在 React 中使用 Fetch 渲染列表