如何将实例化重写为函数?

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 =&gt; t.selected) if(getSelectedValues length is 3 .map(option =&gt; ( name: option.name, value: 5 ));

以上是关于如何将实例化重写为函数?的主要内容,如果未能解决你的问题,请参考以下文章

java 实例化是调用了子类重写方法

MSVC:隐式模板实例化,但未使用模板构造函数

new实例化函数的过程

JAVA基础 - 类的构造与实例化

C# 关于 构造函数问题 关于对象实例化

C函数中如何调用未实例化类的成员函数