Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么是对农民最有效的解决方案?”;印刷动物;?_Javascript - Fatal编程技术网

Javascript 什么是对农民最有效的解决方案?”;印刷动物;?

Javascript 什么是对农民最有效的解决方案?”;印刷动物;?,javascript,Javascript,打印动物的最佳方式是什么,同时确保未来的动物可以在不改变代码的情况下被列出?我的选拔赛非常成功 var animals = ["Cows", "Chickens", "Pigs", "Horses"]; var printFarm = function(a, b, c, d){ console.log("You have " + a + " " + animals[0]); console.log("You have " + b + " " + animals[1]); console.lo

打印动物的最佳方式是什么,同时确保未来的动物可以在不改变代码的情况下被列出?我的选拔赛非常成功

var animals = ["Cows", "Chickens", "Pigs", "Horses"];

var printFarm = function(a, b, c, d){

console.log("You have " + a + " " + animals[0]);
console.log("You have " + b + " " + animals[1]);
console.log("You have " + c + " " + animals[2]);
console.log("You have " + d + " " + animals[3]);

};

printFarm(3, 6, 17, 54);

这里有两种方法

var animals = ["Cows", "Chickens", "Pigs", "Horses"];

function printFarm(arrAnimals) {
    for (var i = 0; i < arrAnimals.length; i++) {
        var animalGroup = arrAnimals[i];
        var amount = printFarm.arguments[i + 1];
        if (amount) {
            console.log('You have ' + amount + ' ' + animalGroup + '.');
        } else {
            console.log('No amount was found for ' + animalGroup + '.');
        }
    }
}

printFarm(animals, 3, 6, 17, 54);
var动物=[“牛”、“鸡”、“猪”、“马”];
函数printFarm(数组动物){
对于(var i=0;i
所以,您需要做的就是更改数组以包含一个新的动物,然后简单地将数量附加到printFarm函数调用的末尾,就像我上面所做的那样。或者,除了动物数组之外,还可以将动物计数数组传递给函数

或者向其传递一个animalCount对象数组,其中包含动物名称和计数作为对象的一部分。就像这样

var animals = [{ name:'cows', count:3 },
               { name:'chickens', count:6 },
               { name:'pigs', count:17 },
               { name:'horses', count:54 }];

function printFarm(arrAnimals) {
    for (var i = 0; i < arrAnimals.length; i++) {
        var animalGroup = arrAnimals[i];
        var name = animalGroup.name;
        var amount = animalGroup.count;
        console.log('You have ' + amount + ' ' + name + '.');
    }
}

printFarm(animals);
var动物=[{name:'cows',count:3},
{姓名:'鸡',计数:6},
{姓名:'猪',计数:17},
{姓名:'马',计数:54}];
函数printFarm(数组动物){
对于(var i=0;i
为什么不将整数数组传递给函数,然后对animals数组或整数数组中的最小项数进行循环

 var animals = ["Cows", "Chickens", "Pigs", "Horses"];

 var printFarm = function(animalCounts) {

      var index = Math.min(animals.length, animalCounts.length);

      for (var i = 0; i < index; i++) {
           console.log("You have " + animalCounts[i] + " " + animals[i];
      }
 }

 printFarm([1,2,3,4]);
var动物=[“牛”、“鸡”、“猪”、“马”];
var printFarm=函数(animalCounts){
var指数=数学最小值(animals.length,animalCounts.length);
对于(变量i=0;i
更好的方法是创建一个动物类,并为所需的每种动物创建一个对象。这是一个粗略的示例,但说明了这个想法

function Animal(type, count) {
  this.type = type;
  this.count = count;

  this.print = function() {
    console.log("You have " + this.count + " " + this.type);
  }
}
也许更好的方法是在动物基类中添加每一个新的动物类型作为子类,但这确实起到了作用


为什么参数有数字?每个数字是否代表动物?您是否运行此代码并查看devtools上的错误?请发布与您的问题相关的JavaScript/jQuery、CSS和HTML。使用以下任何或所有服务创建演示:、、或片段(位于文本编辑器工具栏或CTRL+M上的第7个图标)。好的,很抱歉,下次一定会创建一个演示thnx以供注意。谢谢,你能解释一下Math.min在这个示例中的作用吗?这是我唯一不能得到的东西。提前谢谢!这只是为了捕捉错误,所以索引永远不会超出范围。例如,如果你添加了动物,但忘记在函数参数中添加计数,你不会如果使用两个长度的最小值,则会出现错误。