Javascript 敲除JS:传递给可写计算返回[object]的值? 背景

Javascript 敲除JS:传递给可写计算返回[object]的值? 背景,javascript,html,knockout.js,ko.observablearray,Javascript,Html,Knockout.js,Ko.observablearray,在一个正在进行的学习项目中,我注意到我需要一个可写的计算函数来解决我面临的问题。下面是一个小问题:我试图1)从成绩册中删除用户指定数量的作业,2)用户指定类型的分数 用户输入上述值,然后单击按钮,dropLowestScores。然后,代码将最低分数添加到名为“lowest”的数组中,该数组存在于每个student对象上。 然后,根据新值更新每个学生的可观察平均值,去掉最低值 问题 当我试着放弃时,我的问题就出现了。我不确定我的可写计算机的结构是否正确,但我也不确定到底出了什么问题。我注意到属性

在一个正在进行的学习项目中,我注意到我需要一个可写的计算函数来解决我面临的问题。下面是一个小问题:我试图1)从成绩册中删除用户指定数量的作业,2)用户指定类型的分数

用户输入上述值,然后单击按钮,
dropLowestScores
。然后,代码将最低分数添加到名为“lowest”的数组中,该数组存在于每个
student
对象上。 然后,根据新值更新每个学生的可观察
平均值,去掉最低值

问题 当我试着放弃时,我的问题就出现了。我不确定我的可写计算机的结构是否正确,但我也不确定到底出了什么问题。我注意到属性“n”和
工作类型
在我的
读取
函数中给出的是正确的,但在我的
写入
函数中,它们并不是理想的。例如,在
读取
中,
工作类型
返回默认值,
作业
,但在我的
写入
函数中,它返回
[对象]

如果能够回答清楚我的问题所在,并为我提供正确编写可写计算机脚本的策略,我将不胜感激

下面是相关的JS和HTML代码片段

JSBin

JS HTML
降低最低分数

目前,我只是将上述函数绑定到butten。理想情况下,我会这样离开。引用的其他属性,如
n
workType
mean
都输入到表中

我现在觉得自己很傻,但事实证明我走的是对的;事实上,解决方案非常简单。在
read
函数中,我只需要用以下方式定义属性:
this.variable=…
而不是
var variable=…

this.dropLowestScores = ko.computed({

    // read the parameters necessary to write values to property 'lowest'

    read: function() {

        // user sets value of 'n' in the page via ko 'options'

        this.n = _this.n().n;

        // user selects 'workType' from list of ko options            

        this.workType = _this.workType().workType;

        console.log("workType:" + workType);
        return n,workType;   
    },

    ...
<button data-bind="click: dropLowestScores">Drop Lowest Scores</button>
this.dropLowestScores = ko.computed({

    // read the parameters necessary to write values to property 'lowest'

    read: function() {

        // user sets value of 'n' in the page via ko 'options'

        this.n = _this.n().n;

        // user selects 'workType' from list of ko options            

        this.workType = _this.workType().workType;

        console.log("workType:" + workType);
        return n,workType;   
    },

    ...