将一个字符串数组输出为|分割的形式,比如“刘备|张飞|关羽”。使用两种方式实现
<script>
//“刘备|张飞|关羽”
var arr = ["刘备","张三","关羽"];
console.log(arr.join("|"));
</script>
function myJoin(array, seperator) {
seperator = seperator || ',';
array = array || [];
if (array.length == 0){
return '';
}
var str = array[0];
for (var i = 1; i < array.length; i++) {
str += seperator + array[i];
}
return str;
}
var array = [6, 3, 5, 6, 7, 8, 0];
console.log(myJoin(array, '-'));
console.log(array.join('-'))
找到数组中每一个a出现的位置
<script>
//["c", "a", "z", "a", "x", "a"]; 找到数组中每一个a出现的位置
var arr = ["c", "a", "z", "a", "x", "a"];
//找到第一个a出现的位置
//indexOf() 可以传两个参数 。如果没有找打对应的元素,则返回-1
//1.要查找的元素
//2.从什么位置开始查找该元素
//var index = arr.indexOf("a",4);
//console.log(index);
var index = arr.indexOf("a");
console.log(index);
while(true){
index = arr.indexOf("a",index+1);
if(index == -1){
break;
}
console.log(index);
}
</script>
将一个字符串数组的元素的顺序进行反转。
[“a”, “b”, “c”, “d”] -> [ “d”,”c”,”b”,”a”]。使用两种种方式实现。提示:第i个和第length-i-1个进行交换
function myReverse(arr) {
if (!arr || arr.length == 0) {
return [];
}
for (var i = 0; i < arr.length / 2; i++) {
var tmp = arr[i];
arr[i] = arr[this.length - i - 1];
arr[arr.length - i - 1] = tmp;
}
return arr;
}
var array = ['a', 'b', 'c'];
console.log(myReverse(array));
console.log(array.reverse());
编写一个方法去掉一个数组的重复元素
<script>
var array = ['c', 'a', 'z', 'a', 'x', 'a'];
//对象
var obj = {};
//遍历数组
for(var i=0;i<array.length;i++){
//获取数组里面每一个元素
var n = array[i];
//判断obj[a] 是否在对象中已经存在
if(obj[n]){
obj[n] ++;
}
else{
obj[n] = 1;
}
}
var newArray = [];
for(var key in obj){
newArray.push(key);
}
console.log(newArray);
</script>
var array = ['c', 'a', 'z', 'a', 'x', 'a'];
function clear() {
var o = {};
for (var i = 0; i < array.length; i++) {
var item = array[i];
if (o[item]) {
o[item]++;
}else{
o[item] = 1;
}
}
var tmpArray = [];
for(var key in o) {
if (o[key] == 1) {
tmpArray.push(key);
}else{
if(tmpArray.indexOf(key) == -1){
tmpArray.push(key);
}
}
}
return tmpArray;
}
console.log(clear(array));
<script>
var array = ['c', 'a', 'z', 'a', 'x', 'a'];
var newArray = [];
for(var i=0;i<array.length;i++){
//获取原来数组中的每一个元素
var n = array[i];
//现在要将这个n加入到新数组,首先得判断新数组中是否已经有了他
//如果没有则添加,如果有了就放弃
var isexist = false;
for(var j=0;j<newArray.length;j++){
if(newArray[j] == n){
isexist = true;
break;
}
}
//如果新数组中没有存在过当前元素,则将当前元素添加到新数组
if(isexist == false){
newArray.push(n);
}
}
console.log(newArray);
</script>
工资的数组[1500, 1200, 2000, 2100, 1800],把工资超过2000的删除
方式1
var array = [1500,1200,2000,2100,1800];
var tmpArray = [];
for (var i = 0; i < array.length; i++) {
if(array[i] < 2000) {
tmpArray.push(array[i]);
}
}
console.log(tmpArray);
方式2
var array = [1500, 1200, 2000, 2100, 1800];
array = array.filter(function (item, index) {
if (item < 2000) {
return true;
}
return false;
});
console.log(array);