Javascript 向函数内的对象添加项
我是javascript新手,一开始就一直在阅读有说服力的javascript。我正在尝试创建一个函数,用于存储物品条目、价格以及是否正在销售。我似乎无法复制雄辩的Javascript作者所做的一些事情。我想将附加参数添加到相应的属性中,但似乎无法添加到对象属性中。我不知道我做错了什么。我试着遵循作者的代码,但我没有这样做Javascript 向函数内的对象添加项,javascript,Javascript,我是javascript新手,一开始就一直在阅读有说服力的javascript。我正在尝试创建一个函数,用于存储物品条目、价格以及是否正在销售。我似乎无法复制雄辩的Javascript作者所做的一些事情。我想将附加参数添加到相应的属性中,但似乎无法添加到对象属性中。我不知道我做错了什么。我试着遵循作者的代码,但我没有这样做 var itemList = []; function addEntry(item){ var entry = {item: item, price: [], sale
var itemList = [];
function addEntry(item){
var entry = {item: item, price: [], sale: []};
for(var i = 0; i < arguments.list; i++){
if(typeof arguments[i] == boolean)
entry.sale.push(arguments[i]);
else
entry.price.push(arguments[i]);
};
console.log(entry);
}
addEntry('couch', '$500', true)
var itemList=[];
功能补遗(项目){
var条目={项目:项目,价格:[],销售:[]};
对于(var i=0;i
我还尝试在每次循环迭代时修改下面的代码以创建一个新属性,但我也不能这样做。我完全知道我很可能遗漏了一些关键代码或犯了一个简单的错误,但我对此视而不见。请帮帮我。即使代码似乎对你有用,也要让我知道
var itemList = [];
function addEntry(item){
var entry = {item: item};
for(var i = 0; i < arguments.list; i++){
if(typeof arguments[i] == boolean)
entry.sale = arguments[i];
else
entry.price arguments[i];
};
console.log(entry);
}
addEntry('couch', '$500', true)
var itemList=[];
功能补遗(项目){
var条目={item:item};
对于(var i=0;i
list
的方法/属性。使用.length
typeof arguments[i]
返回一个字符串,使用=='boolean'
1..n
运行for
循环,因为0
参数已指定为项
您的代码中有一些打字错误。请参见更新代码中的以下注释:
var itemList = [];
function addEntry(item){
var entry = {item: item};
for(var i = 0; i < arguments.length; i++){ // Use argument.length to specify upper bound of the loop
if(typeof arguments[i] == 'boolean') // typeof returns a string, so use 'boolean'
entry.sale = arguments[i];
else
entry.price = arguments[i];
};
console.log(entry);
itemList.push(entry); // Have you forgotten to add it to the list?
}
addEntry('couch', '$500', true)
var itemList=[];
功能补遗(项目){
var条目={item:item};
对于(var i=0;i
必须循环遍历参数列表,如下所示。此外,如果您将项目设置为数组,则可以容纳多个项目,就像多个价目表一样。所以你可以打电话
addEntry('couch', '$100', true);
addEntry('couch', '$100', true, 'chair', '$50', false);
function addEntry(){
var entry = {item: [], price: [], sale: []};
for(var i = 0; i < arguments.length; i++){
if(typeof arguments[i] == 'boolean')
entry.sale.push(arguments[i]);
else if (!isNaN(arguments[i].replace('$','')))
{
entry.price.push(arguments[i]);
}
else
entry.item.push(arguments[i]);
}
console.log(entry);
}
addEntry('coach','$100',true);
附录(“沙发”、“100美元”、“真”、“椅子”、“50美元”、“假”);
函数加法器(){
var分录={项目:[],价格:[],销售:[]};
for(var i=0;i
@DrakesaddEntry
在函数中接受变量参数。