【发布时间】:2018-11-09 19:30:19
【问题描述】:
我的应用程序中具有允许用户在下拉菜单中选择项目并上下移动它们的功能。一旦他们选择并单击按钮,我必须遍历对象数组并仅提取在下拉菜单中选择的记录。这是我的代码示例:
var selectedColumns = ['first','last','city'];
var data = [
{
first: "Mike",
last: "Ross",
dob: "05/26/1978",
city: "Washington DC",
state: "DC",
zip: 22904
},
{
first: "John",
last: "Henderson",
dob: "11/06/1988",
city: "Iowa City",
state: "IA",
zip: 52401
},
{
first: "Nina",
last: "Barkley",
dob: "01/16/1968",
city: "New York",
state: "NY",
zip: 11308
},
{
first: "Jessie",
last: "Kuch",
dob: "02/02/1956",
city: "Des Moines",
state: "IA",
zip: 55432
},
{
first: "Jenny",
last: "Terry",
dob: "012/28/1988",
city: "Miami",
state: "FL",
zip: 83943
}
]
在选定的列中,我们只有first、last 和city。然后我必须遍历data 并只拉取选定的列。一种方法是这样的:
for(var key in data){
for(var i=0; i<selectedColumns.lenght; i++){
var columnID = String(columns[i]);
console.log($.trim(data[key][columnID]));
}
}
虽然这个解决方案工作得很好,但我想知道是否有更好的方法来避免内循环并提高效率?我在我的项目中使用JQuery/JavaScript。如果有人知道解决此问题的更好方法,请告诉我。谢谢你。
【问题讨论】:
-
@epascarello 还有其他智能 cmets 吗?
-
嘿 espresso_coffee。 StackOverflow 通常用于不起作用的代码。如果您的代码按照您的意愿运行,并且您只是在寻找改进它的方法(无论是在编写方式还是效率方面),那么您可能会在 Code Review.
-
@TylerRoper 感谢您告诉我。我不知道代码审查网站。
-
@pushkin 随意推荐 CR 上的 OP 帖子,但以后请不要以 Code Review 网站的存在作为关闭问题的理由。评估请求并使用太宽泛、主要基于意见等原因。然后您可以向 OP 提及它可以在 Code Review 上发布(如果是) on-topic。请参阅this answer to A guide to Code Review for Stack Overflow users 中的你不应该做的事情部分
-
只是在输入类似于 @SᴀᴍOnᴇᴌᴀ 的内容。一个“更适合代码审查”的问题并不足以单独进行结束投票。根本不是要挑剔普希金,我只是经常看到它,觉得加强这一点压力不够。 :)
标签: javascript jquery arrays json loops