javascript - 在javascript中从json对象访问n个值

标签 javascript arrays

var list=[
{
    color_1: "red",
    color_2: "red_1",
    value: "#f00"
},
{
    color_1: "green",
    color_2: "red_5",
    value: "#0f0"
},
{
    color_1: "blue",
    color_2: "red",
    value: "#00f"
},
{
    color_1: "cyan",
    color_2: "red",
    value: "#0ff"
},
{
    color_1: "magenta",
    color_2: "red",
    value: "#f0f"
},
{
    color_1: "yellow",
    color_2: "red",
    value: "#ff0"
},
{
    color_1: "black",
    color_2: "red",
    value: "#000"
}

];

在我的json列表中,我从后端获取动态列,例如color_1,color_2,color_3,color_4....color_n json对象中最多n个列,我想使用for循环在控制台上打印它们,但是我我的输出未定义,请告诉我哪里出错了,下面是代码

函数callMe(){

    list.forEach(function(element, i) {
    for(var j=1;j<3;j++){

            console.log(element.color_+j);
        }
    });
}

最佳答案

您需要一个合适的property accessor带括号和字符串。

console.log(element['color_' + j]);

function callMe() {
    list.forEach(function(element, i) {
        for (var j = 1; j < 3; j++) {           // var instead of int
            console.log(element['color_' + j]); // brackets
        }
    });
}

var list = [{ color_1: "red", color_2: "red_1", value: "#f00" }, { color_1: "green", color_2: "red_5", value: "#0f0" }, { color_1: "blue", color_2: "red", value: "#00f" }, { color_1: "cyan", color_2: "red", value: "#0ff" }, { color_1: "magenta", color_2: "red", value: "#f0f" }, { color_1: "yellow", color_2: "red", value: "#ff0" }, { color_1: "black", color_2: "red", value: "#000" }];

callMe();
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 在javascript中从json对象访问n个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60129063/

相关文章:

javascript - 有一个对象数组,需要添加新的对象。如何检查是否只有一个 key : value pairs exist

php - 从多维数组创建 Html 元素

javascript - 还有另一个 JSON -> HTML 表线程

javascript - 添加自定义 jquery.validation 方法会导致 Uncaught TypeError : Cannot read property 'call' of undefined

javascript - 获取搜索框以过滤结果

javascript - 动态插入脚本并立即执行

java - 程序显示最高值但不显示最高值的人

javascript - 如何创建仅在鼠标悬停在图像顶部时显示的菜单或链接

php - 如何从多个 $_POST 数组插入 MYSQL 行

c - 求最小总和使得没有两个元素相邻