Javascript 如何从json动态获取选定列数据?

Javascript 如何从json动态获取选定列数据?,javascript,arrays,json,Javascript,Arrays,Json,我需要从json中获取正确的列表框列数据 我的json如下: [ { "CustName": "Matt Harrison", "name": "Steve Rucci", "functionRoom": "Living Room", "bookingId": "659", "bookingName": "Matt Booking for Lost Business Report Sept 11", "postAs": "" } ] 我

我需要从json中获取正确的列表框列数据

我的json如下:

[
  {
    "CustName": "Matt Harrison",
    "name": "Steve Rucci",
    "functionRoom": "Living Room",
    "bookingId": "659",
    "bookingName": "Matt Booking for Lost Business Report Sept 11",
    "postAs": ""
  }
]
我应用了一个定制的函数

copyObjectProps(source, keys) {
   let newObject = {}
   keys.forEach(function(key) {
     newObject[key] = source[key]
   })
   return newObject
}
在按钮上,首先单击“我准备列列表”

$("#button").click(function(){
var s='';
$("Listbox > option").each(function() {
s+="'"+this.text+"',";
});
s=s.replace(/,+$/,'');
objBookingReports.RS_FN_FunctionList=s;
}) 
然后该列表转到copyObjectProps()函数并创建过滤后的json对象

var filteredparam1 = new Array();
var x =objBookingReports.RS_FN_FunctionList;

// x value is "'bookingId','bookingName'"

x = x.replace(/^"\?/, '');
x=x.replace(/"+$/,'');
var y=[x];
$.each(jsonData, function(key, value){
filteredparam1.push(objBookingReports.copyObjectProps(value,y))
});
console.log(filteredparam1)
}
问题在于格式化。当我将列列表放在y=[x]。它不会使用选定列重新调整json数据。但如果我试图将核心价值观

var y=['bookingId','bookingName'];
然后它向我展示结果。请建议如何正确设置列列表的格式?

尝试以下方法:

var filteredparam1 = new Array();
var x =objBookingReports.RS_FN_FunctionList;

// x value is "'bookingId','bookingName'"


// x = x.replace(/^"\?/, '');
// x=x.replace(/"+$/,'');
var y = x.replace(/["']/g, "").split(',')  // var y=[x];
$.each(jsonData, function(key, value){
    filteredparam1.push(objBookingReports.copyObjectProps(value,y))
});
console.log(filteredparam1)
}
似乎您的
y
变量变成了一个只有一个元素的数组:
“'bookingId','bookingName'”
;试着用变量
x
中的空格替换单引号,并用逗号分隔


替换单引号和双引号的解决方案。

请在此行后使用变量
x
的输出更新您的问题:
var x=objBookingReports.RS\u FN\u FunctionList?这是给我的输出=“'bookingId','bookingName'”制作在线代码片段,你会得到快速的答案!