Поиск и изменение чисел в строке
Всем привет. Подскажите пожалуйста как решить задачу.
Дан массив, в нём лежит css-свойство transform с заданной функцией трансформации, по типу следующего: transform: scale(0.5, 0.5) transform: matrix(3,15,4,-10,8,24) transform: matrix(8,15,3,4,24,-10) transform: scale(2, 1.5) transform: translate(500px,450px) transform: scale(0.7, 1.1) Нужно увеличить значение на 11. Как это сделать ? |
А зачем же хранить так?
Если известно, что для transform, то уже достаточно было бы только scale(...), matrix(...), .... Но и это зачем, может быть лучше: scale : [[0.5, 0.5], [2, 1.5]] и т.д. И если что-то надо изменить, изменяйте. |
Задание такое оригинальное. Привет из универа
|
Цитата:
Цитата:
|
Цитата:
Цитата:
Проще говоря ко всем числам 11 прибавить. |
Цитата:
|
function fun3(param1,param2){
var a ; var out = []; for (i = 0; i < param1.length; i++){ if(param1[i].indexOf(param2)!=-1){ a=parseFloat(param1[i].match(/\((\d)\)/)); b=a+11; out.push(param1[i].replace((/\((\d)\)/),b)); console.log(param1[i]); } } return out; } console.log(fun3(arrLab7,"transform")) |
Цитата:
arrLab=["transform: scale(0.5, 0.5)", "transform: matrix(3,15,4,-10,8,24)", "transform: matrix(8,15,3,4,24,-10)", "transform: scale(2, 1.5)", "transform: translate(500px,450px)", "transform: scale(0.7, 1.1)", "transform: skew(30deg,15deg)", "transform: translate(151px,17px)", "transform: rotate(45deg)", "transform: rotate(17deg)", "transform: translate(170px,15px)", "transform: skew(25deg,5deg)", "transform: skew(2deg,17deg)", "transform: matrix(15,3,4,8,-10,24)", "transform: rotate(135deg)"]
console.log(
arrLab.map(function(s){
return s.replace(/-?\d+\.?\d*/g, function(n){return +n+11})
})
)
//>>>> [ 'transform: scale(11.5, 11.5)',
//>>>> 'transform: matrix(14,26,15,1,19,35)',
//>>>> 'transform: matrix(19,26,14,15,35,1)',
//>>>> 'transform: scale(13, 12.5)',
//>>>> 'transform: translate(511px,461px)',
//>>>> 'transform: scale(11.7, 12.1)',
//>>>> 'transform: skew(41deg,26deg)',
//>>>> 'transform: translate(162px,28px)',
//>>>> 'transform: rotate(56deg)',
//>>>> 'transform: rotate(28deg)',
//>>>> 'transform: translate(181px,26px)',
//>>>> 'transform: skew(36deg,16deg)',
//>>>> 'transform: skew(13deg,28deg)',
//>>>> 'transform: matrix(26,14,15,19,1,35)',
//>>>> 'transform: rotate(146deg)' ]
Все цифры не проверил, лень:) |
Спасибо) Очень вовремя ))
|
| Часовой пояс GMT +3, время: 15:50. |