Javascript 如何从对象';谁的财产?

Javascript 如何从对象';谁的财产?,javascript,arrays,substring,Javascript,Arrays,Substring,我有一个对象数组。每个对象都有一个日期属性。从那一天起,我将尝试退出并仅显示该房产的年份 正如您在运行脚本时看到的,它显示每个对象的所有年份。如何将其绑定到单个对象 //对象数组 objArray=[ { 傅:1,, 酒吧:“2020年12月5日” }, { 傅:3,, 酒吧:“2019年4月2日” }, { 傅:5,, 酒吧:“2018年1月6日” } ]; //从日期算起的年份 让result=objArray.map((a)=>a.bar.substr(-4)); //模板文字 函数对象

我有一个对象数组。每个对象都有一个日期属性。从那一天起,我将尝试退出并仅显示该房产的年份

正如您在运行脚本时看到的,它显示每个对象的所有年份。如何将其绑定到单个对象

//对象数组
objArray=[
{
傅:1,,
酒吧:“2020年12月5日”
},
{
傅:3,,
酒吧:“2019年4月2日”
},
{
傅:5,,
酒吧:“2018年1月6日”
}
];
//从日期算起的年份
让result=objArray.map((a)=>a.bar.substr(-4));
//模板文字
函数对象模板(obj){
返回`
项目${obj.foo}

年份:${result}

***********

`; } //输出 document.getElementById(“objArrayResult”).innerHTML=`${objArray .map(objArrayTemplate) .join(“”)`
只需在
objarraydemplate
函数中提取年份即可。
//对象数组
objArray=[
{
傅:1,,
酒吧:“2020年12月5日”
},
{
傅:3,,
酒吧:“2019年4月2日”
},
{
傅:5,,
酒吧:“2018年1月6日”
}
];
//模板文字
函数对象模板(obj){
返回`
项目${obj.foo}

年份:${obj.bar.substr(-4)}

***********

`; } //输出 document.getElementById(“objArrayResult”).innerHTML=`${objArray .map(objArrayTemplate) .join(“”)`
您应该使用new Date()获取时间戳,然后从该时间戳获取全年

这是工作代码

<!DOCTYPE html>
<html lang="en">
 <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
</head>
<body>
    <div id="objArrayResult"></div>
    <script>
        //array of objects
        objArray = [
            {
                foo: 1,
                bar: new Date(),
            },
            {
                foo: 3,
                bar: new Date(),
            },
            {
                foo: 5,
                bar: new Date(),
            },
        ];

        // template literal
        function objArrayTemplate(obj) {
            return `
                <p>Item ${obj.foo}</p>
                <p>Year: ${obj.bar.getFullYear()}</p>
                <p>***********</p>
            `;
        }

        // output;
        document.getElementById("objArrayResult").innerHTML = `${objArray
            .map(objArrayTemplate)
            .join(" ")}`;
    </script>
 </body>
</html>

文件
//对象数组
objArray=[
{
傅:1,,
栏:新日期(),
},
{
傅:3,,
栏:新日期(),
},
{
傅:5,,
栏:新日期(),
},
];
//模板文字
函数对象模板(obj){
返回`
项目${obj.foo}

年份:${obj.bar.getFullYear()}

***********

`; } //产出; document.getElementById(“objArrayResult”).innerHTML=`${objArray .map(objArrayTemplate) .join(“”)`;
年份:${result}

->
年份:${obj.bar.substr(-4)}

我真的太复杂了。谢谢。@JaredNewnam请看看这是否解决了您的问题,如果您有任何问题,一定要告诉我。这些应该是我手动输入的不同日期,如操作中所示。您为什么要更改我的要求?@JaredNewnam使用日期对象(或时间戳)不是一个坏建议;它将在将来为您提供更多的灵活性(例如提取日期和月份)。时间戳为您提供的不仅仅是您自己的日期,但是如果您想使用指定的数据,您也可以使用它们并将它们转换为时间戳以获得更多的详细信息,但这些不是从数据库生成的时间戳。这些是我手动输入到对象中的日期。每件物品都是一篇新闻文章。每一篇新闻文章都有它自己的日期。在这里使用日期对象对我没有帮助,因为我需要为每篇文章输入特定的日期。如果我理解错了,请解释,但请使用我在OP中指定的日期。@Issa-我想跟进。我尝试过这个方法,效果很好。问题是,即使我只需要拿出年份,我仍然需要以2020年12月5日的格式显示日期。这有意义吗?