小编Coc*_*ade的帖子

如何改进和缩短这段代码?

此函数采用一串 DNA,例如“GTCA”,并返回一个包含正确匹配的 DNA 对的数组。

function pairDNA(dna) {

  const pairs = []

  for (let i = 0; i < dna.length; i ++) {

    if (dna[i] === "C" | dna[i] === "c") {
      pairs.push("CG");
    } else if (dna[i] === "G"| dna[i] === "g") {
      pairs.push("GC");
    } else if (dna[i] === "T"| dna[i] === "t") {
    pairs.push("TA");
    } else if (dna[i] === "A"| dna[i] === "a") {
      pairs.push("AT");
    }
  }

return pairs;
}
Run Code Online (Sandbox Code Playgroud)

这是对的。但是,我正在尝试找到一种更短、更简单的书写方式。任何人都可以帮助我解决我应该使用的问题吗?

javascript arrays for-loop

9
推荐指数
1
解决办法
206
查看次数

Codewars Coding Meetup #6 - 他们可以用同一种语言编码吗?

我开始尝试使用 for 和 if 循环来解决这个问题,而不是任何对我来说太高级的东西。我正在寻求朝着正确的方向前进。

您将获得一组对象(PHP 中的关联数组),这些对象表示已注册参加您正在组织的下一次编码聚会的开发人员的数据。

您的任务是返回:

如果列表中的所有开发人员都使用相同的语言编码,则为 true;否则为假。例如,给定以下输入数组:

var list1 = [
  { firstName: 'Daniel', lastName: 'J.', country: 'Aruba', continent: 'Americas', age: 42, language: 'JavaScript' },
  { firstName: 'Kseniya', lastName: 'T.', country: 'Belarus', continent: 'Europe', age: 22, language: 'JavaScript' },
  { firstName: 'Hanna', lastName: 'L.', country: 'Hungary', continent: 'Europe', age: 65, language: 'JavaScript' },
];
Run Code Online (Sandbox Code Playgroud)

你的函数应该返回true。

我的逻辑是,如果数组中的每种语言都等于第一种语言,那么它应该返回 true,因为显然它们都是相同的,如果不返回 false。

但是,当我运行代码时,它只返回 true 而没有返回 false,这是我所拥有的:

function isSameLanguage(list) {
  for (var i = 0; i < list.length; i++) {
    if (list[i].language …
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
1
解决办法
230
查看次数

如何通过参数添加对象属性?

function addPropertyToProduct(product, property, value) {
  let tryThis = property;

  product.tryThis = value;

  return product;
}
Run Code Online (Sandbox Code Playgroud)

参数“product”将是一个如下所示的对象:

{ type: 'Terminator 2: Judgement Day', price: '£6.99', quantity: 1 }
Run Code Online (Sandbox Code Playgroud)

给定一个“属性”作为参数,以及它的相应值,更新“产品”以包含这个新信息。然后返回更新的“产品”。

例如,如果给定 'property' 'length' 和值 '2h 36m',你的函数应该返回

{ type: 'Terminator 2: Judgement Day', price: '£6.99', quantity: 1, length: '2h 36m' }
Run Code Online (Sandbox Code Playgroud)

这是我收到的答案:

 **+ expected** *- actual*

       {
      **+  "length": "2h 36m"**
         "price": "£6.99"
         "quantity": 1
      *-  "tryThis": "2h 36m"*
         "type": "Terminator 2: Judgement Day"
       }
Run Code Online (Sandbox Code Playgroud)

这会正确返回值,但将键命名为变量名,而不是参数本身?

javascript

2
推荐指数
1
解决办法
97
查看次数

查找数字的第 n 位 JavaScript

我真的以为我能够找到解决我的问题的方法,但我认为我看的越多,我看到的就越少。这是我的作业:

完成这需要两个数字作为输入功能,numnth和返回nth的数字num(从右计数到左)。
注意:
- 如果num是负数,忽略其符号并将其视为正值
- 如果nth不是正数,则返回 -1
- 记住 42 = 00042。这意味着findDigit(42, 5) 将返回 0

代码:

var findDigit = function(num, nth) {
  let change = num.toString();
  let find = (change.charAt(change.length - nth) * 1);
  if (nth <= 0){
    return nth;
  } 
  return find; 
}
Run Code Online (Sandbox Code Playgroud)

输入是:

describe("Test", function() {
  it("Examples", function(){
    Test.assertEquals(findDigit(5673, 4), 5);
    Test.assertEquals(findDigit(129, 2), 2);
    Test.assertEquals(findDigit(-2825, 3), 8);
    Test.assertEquals(findDigit(-456, 4), 0);
    Test.assertEquals(findDigit(0, 20), 0); …
Run Code Online (Sandbox Code Playgroud)

javascript

0
推荐指数
1
解决办法
275
查看次数

标签 统计

javascript ×4

arrays ×1

for-loop ×1