要求找出包含关键字key的项并生成新数组,如何处理?


        var key = "760";
        var obj ={"code":1,"msg":"success","list":
        [
          {"cc":"1\"color:red\">3322<\/text>057549","number":"13322057549"},
          {"cc":"1\"color:red\">3337<\/text>606240","number":"13337606240"},
          {"cc":"1\"color:red\">3337<\/text>684403","number":"13337684403"},
          {"cc":"1\"color:red\">3337<\/text>560941","number":"13337560941"},
          {"cc":"1\"color:red\">3337<\/text>658540","number":"13337658540"},
          {"cc":"1\"color:red\">3337<\/text>553743","number":"13337553743"},
          {"cc":"1\"color:red\">3337<\/text>602824","number":"13337602824"},
          {"cc":"1\"color:red\">3337<\/text>608045","number":"13337608045"},
          {"cc":"1\"color:red\">3337<\/text>698326","number":"13337689326"},
          {"cc":"1\"color:red\">3337<\/text>601734","number":"13337601734"}
        ]
      };

参考GPT和自己的思路:

可以使用 JavaScript 中的 filter() 方法来筛选包含关键字 key 的项,并且生成新的数组。具体的实现方法如下:

var key = "760";
var obj = {"code":1,"msg":"success","list":
[
    {"cc":"1<text style=\"color:red\">3322<\/text>057549","number":"13322057549"},
    {"cc":"1<text style=\"color:red\">3337<\/text>606240","number":"13337606240"},
    {"cc":"1<text style=\"color:red\">3337<\/text>684403","number":"13337684403"},
    {"cc":"1<text style=\"color:red\">3337<\/text>560941","number":"13337560941"},
    {"cc":"1<text style=\"color:red\">3337<\/text>658540","number":"13337658540"},
    {"cc":"1<text style=\"color:red\">3337<\/text>553743","number":"13337553743"},
    {"cc":"1<text style=\"color:red\">3337<\/text>602824","number":"13337602824"},
    {"cc":"1<text style=\"color:red\">3337<\/text>608045","number":"13337608045"},
    {"cc":"1<text style=\"color:red\">3337<\/text>698326","number":"13337689326"},
    {"cc":"1<text style=\"color:red\">3337<\/text>601734","number":"13337601734"}
]
};

var newList = obj.list.filter(function(item){
    return item.cc.includes(key);
});

console.log(newList);

在上面的代码中,我们先定义了关键字 key 和包含数据的对象 obj,然后使用 filter 方法来筛选包含 key 的项,并且生成新的数组 newList。在 filter 方法中,我们使用 includes 方法来判断一个字符串是否包含另一个字符串。最后,我们使用 console.log 方法来输出 newList 数组。

参考GPT和自己的思路:

可以使用 JavaScript 的数组方法 filter() 来筛选出包含关键字 key 的项并生成新数组。具体实现如下:

var key = "760";
var obj = {"code":1,"msg":"success","list":
[
  {"cc":"1<text style=\"color:red\">3322<\/text>057549","number":"13322057549"},
  {"cc":"1<text style=\"color:red\">3337<\/text>606240","number":"13337606240"},
  {"cc":"1<text style=\"color:red\">3337<\/text>684403","number":"13337684403"},
  {"cc":"1<text style=\"color:red\">3337<\/text>560941","number":"13337560941"},
  {"cc":"1<text style=\"color:red\">3337<\/text>658540","number":"13337658540"},
  {"cc":"1<text style=\"color:red\">3337<\/text>553743","number":"13337553743"},
  {"cc":"1<text style=\"color:red\">3337<\/text>602824","number":"13337602824"},
  {"cc":"1<text style=\"color:red\">3337<\/text>608045","number":"13337608045"},
  {"cc":"1<text style=\"color:red\">3337<\/text>698326","number":"13337689326"},
  {"cc":"1<text style=\"color:red\">3337<\/text>601734","number":"13337601734"}
]
};

var newArray = obj.list.filter(function(item) {
  return item.cc.indexOf(key) !== -1;
});

console.log(newArray);

运行结果是:

[
  {"cc":"1<text style=\"color:red\">3322<\/text>057549","number":"13322057549"}
]
]

可以看到,新数组中只有一项,它是包含关键字 "760" 的项。