如何将实例化重写为函数?
Posted
技术标签:
【中文标题】如何将实例化重写为函数?【英文标题】:How do I rewrite an instantiation to a function? 【发布时间】:2020-07-16 06:42:29 【问题描述】:我想要一个名为 getSelectedValues 的函数,它从选项数组中检索数据,而不是一个名为 SelectedValues 的变量(这是我现在拥有的方式)。变量 Selected Values 当前获取选项数组中为 true 的值并将它们分配给自身。 我只是想让它成为一个函数。 (我想像 getSelectedValues 的东西)我如何实现这一点?
var options = [
name: "Red Pepper",
"selected": false,
value: "5.99"
,
name: "Garlic",
"selected": true,
value: "5.99"
,
name: "Tomatoes",
"selected": true,
value: "5.99"
,
]
var SelectedValues = options.filter(function (option)
return (option.selected);
);
console.log(SelectedValues)
【问题讨论】:
[重复]:***.com/questions/1925976/… 你想知道如何编写一个函数,它接受一个选项数组并在选定的属性上过滤它们? 【参考方案1】:这样的?
function getSelectedValues(options)
const size = Object.keys(options).length;
for (var i = 0; i < size; i = i + 1)
const isSelected = options[i]["selected"];
if (isSelected)
alert(options[i].name);
Jsfiddle 在这里:https://jsfiddle.net/z3nrh8Ly/50/
【讨论】:
Object.keys 是我要找的!谢谢【参考方案2】:仅供参考,阅读全文:
Declaring functions in javascript
function filterOptions(options)
return options.filter(i => i.selected);
function filterOptions(options)
return options.filter((i) => i.selected);
var options = [
name: "Red Pepper",
selected: false,
value: "5.99",
,
name: "Garlic",
selected: true,
value: "5.99",
,
name: "Tomatoes",
selected: true,
value: "5.99",
,
];
var selectedValues = filterOptions(options);
console.log(selectedValues);
.as-console
min-height: 100% !important;
.as-console-row
color: blue !important;
【讨论】:
【参考方案3】:function getSelectedValues()
return options.filter(t => t.selected);
另一种方式:
getSelectedValues = () => options.filter(t => t.selected);
【讨论】:
如果我不只是想返回选定的项目,但我想写一个条件语句,说明如果选择了 3 个或更多,而不是价格为 5。我会怎么写那?类似函数getSelectedValues() return options.filter(t => t.selected)
if(getSelectedValues length is 3 .map(option => ( name: option.name, value: 5 ));
以上是关于如何将实例化重写为函数?的主要内容,如果未能解决你的问题,请参考以下文章