(1)通过浏览器navigator获得我们当前所在的位置geolocation。位置的信息包括经度longitude和纬度latitude。你将会看到一个是否允许获取当前位置的提示。不管你选择允许或者禁止,只要代码正确,这关就能过了。如果你选择允许,你将会看到右侧手机输出的文字为你当前所在位置的经纬度。

<script>
  if (navigator.geolocation) {
   navigator.geolocation.getCurrentPosition(function(position) {
       $("#data").html("latitude: " + position.coords.latitude + "<br>longitude: " + position.coords.longitude);
  });
}  
</script>
<div id = "data">
  <h4>You are here:</h4>
</div>

网页编辑路径:

实现路径: 页面结构->样式->功能->接口->展示。

第一步: 用你熟悉的HTML快速构建出页面的结构。
第二步: 用CSS给页面添加样式,让页面变得漂亮起来。
第三步: 用JavaScript给页面添加功能,让页面能动起来。
第四步: 通过Ajax获取到JSON数据,来动态更新页面。
https://codepen.io/freeCodeCamp/full/Myvqmo如何调用JSONP API的实例。

(2)把一个英文单词的第一个辅音或辅音丛(consonant cluster)移到词尾,然后加上后缀 "ay"。如果单词以元音开始,你只需要在词尾添加 "way" 就可以了。

function translate(str) {
var vowel = ["a", "e", "i", "o", "u"];
if (vowel.indexOf(str[0]) != -1) {
return str + "way";
}
while (vowel.indexOf(str[0]) == -1) {
str = str.substr(1) + str.substr(0, 1);
}
return str + "ay";
}
translate("consonant");
(3)DNA 链缺少配对的碱基。依据每一个碱基,为其找到配对的碱基,然后将结果作为第二个数组返回。
for(var i=0;i<temp.length;i++){
    if(temp[i]=='A'){
          answer[i]=['A','T'];
    }else if(temp[i]=='T'){
          answer[i]=['T','A'];
    }else if(temp[i]=='C'){
          answer[i]=['C','G'];
    }else if(temp[i]=='G'){
          answer[i]=['G','C'];
    }
  }
    return answer;
}
(4)从传递进来的字母序列中找到缺失的字母并返回它。
function fearNotLetter(str) {
  var a=str.charCodeAt(0);
  var b="";
  for(var i=0;i<str.length;i++)
      {
        if(a!=str.charCodeAt(i)){  
           b=String.fromCharCode(a);
           return b;
        }
        a++;
      }       
  }
fearNotLetter("abcdefghj");
编写代码的时候一定要先捋顺思路。

(5)检查一个值是否是基本布尔类型,并返回 true 或 false。

function boo(bool) {
  // What is the new fad diet for ghost developers? The Boolean.  
 if(typeof(bool)=="boolean")
   return true;
 return false;
}
boo(true);

写一个 function,传入两个或两个以上的数组,返回一个以给定的原始数组排序的不包含重复值的新数组。换句话说,所有数组中的所有值都应该以原始顺序被包含在内,但是在最终的数组中不包含重复值。

function unite(arr1, arr2, arr3) { 
  var args = Array.from(arguments);
  var arr = args.reduce(function(prev,cur){
    return prev.concat(cur);
  });//合并数组,用累加事件
  return arr.filter(function(item,index,arr){
    return arr.indexOf(item) === index;  
  });//当前值得索引等于该值第一次出现的索引
}
unite([1, 3, 2], [1, [5]], [2, [4]]);
借鉴别人的,自己的比较繁琐。




Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐