2016-03-29 3 views
0

У меня есть массивJQuery удалить все, кроме первого и последнего числа

var aa = ["500", "600", "700", "800", "900", "1000", "1100", "1200"] 

Мне нужно, чтобы удалить все, кроме первого и последнего. Проблема, хотя иногда мой массив имеет только одно значение var = ["500"], и мне нужно сохранить его, поскольку это первое значение.

aa.slice(1,-1); 

нарезка ["500"] приведет к [] и мне нужно ["500"].

+1

ты не можешь иметь, если заявление для проверки количества элементов? (одна дополнительная строка и кто-то смотрит на ваш код, будет знать, что происходит :)) –

+0

Последний элемент не должен иметь запятую. Это абсолютная необходимость, чтобы решение было jQuery или JavaScript в порядке? Если да, укажите это с помощью тега JavaScript. – zer00ne

ответ

2

Просто альтернатива:

var bb = aa.length > 2 ? [aa[0], aa[aa.length - 1]] : aa; 
+0

или 'if (aa.length> 2) aa = [aa [0], aa [aa.length - 1]]', если вы не хотите изменять имя var. –

+0

безупречный! Это работает! Спасибо – JoshuaNa

+0

есть ли способ удалить las два нуля? Вместо 500, у меня будет 5? – JoshuaNa

2

простой и легкий (это будет держать массив, и если есть 2 из них (первый и последний), если вам не нужно, что изменение arr.length> 1)

var arr = ["100", "200", "300", "400", "100200"]; 

if (arr.length > 2) { 
    arr = [arr.shift(), arr.pop()] 
} 

arr[0] = arr[0].replace(/00$/, ""); 
arr[1] = arr[1].replace(/00$/, ""); 

console.log(arr); 

https://jsfiddle.net/87dgkeeh/3/

+0

это дает мне противоположность [2, 3], мне нужно [1, 4] – JoshuaNa

+0

Извините, прочтите это неправильно, вот новая версия –

+0

отлично, есть способ удалить las 2 нули, чтобы вместо 1200, это будет 12 и т. д. – JoshuaNa

0
var aa = ["500", "600", "700", "800", "900", "1000", "1100", "1200"] 
[aa.shift(), aa.pop()].filter(function(n){ return n != undefined }) 
// => Array [ "500", "1200" ] 

var aa = ["500"] 
[aa.shift(), aa.pop()].filter(function(n){ return n != undefined }) 
// => Array [ "500" ] 
+0

Не массив из 1, дающий вам '[String, Undefined]'? –

+0

Что в случае, если есть только один элемент? –

Смежные вопросы